]> git.gag.com Git - debian/tar/commitdiff
Imported Upstream version 1.21 upstream/1.21
authorBdale Garbee <bdale@gag.com>
Wed, 25 Feb 2009 06:05:42 +0000 (23:05 -0700)
committerBdale Garbee <bdale@gag.com>
Wed, 25 Feb 2009 06:05:42 +0000 (23:05 -0700)
246 files changed:
ChangeLog
INSTALL
Makefile.in
NEWS
THANKS
aclocal.m4
build-aux/config.guess
build-aux/config.rpath
build-aux/config.sub
build-aux/texinfo.tex
config.hin
configure
configure.ac
doc/Makefile.in
doc/getdate.texi
doc/stamp-vti
doc/tar.info
doc/tar.info-1
doc/tar.info-2
doc/tar.texi
doc/version.texi
lib/Makefile.in
lib/argp-fmtstream.h
lib/argp-help.c
lib/argp-parse.c
lib/c-ctype.c [new file with mode: 0644]
lib/c-ctype.h [new file with mode: 0644]
lib/canonicalize-lgpl.c
lib/chdir-long.c
lib/close-stream.c
lib/close.c [new file with mode: 0644]
lib/closeout.c
lib/closeout.h
lib/dirent.in.h
lib/dirfd.c
lib/dirfd.h [deleted file]
lib/errno.in.h [new file with mode: 0644]
lib/fchdir.c
lib/fclose.c [new file with mode: 0644]
lib/fcntl.in.h
lib/float.in.h
lib/fseeko.c
lib/getcwd.c
lib/getdate.c
lib/getdate.y
lib/getdelim.c
lib/gnulib.mk
lib/inttostr.h
lib/inttypes.in.h
lib/localcharset.c
lib/lstat.c
lib/lstat.h [deleted file]
lib/memchr.c
lib/memrchr.c
lib/mktime.c
lib/open-safer.c
lib/open.c [new file with mode: 0644]
lib/openat-die.c
lib/openat.c
lib/rawmemchr.c [new file with mode: 0644]
lib/rawmemchr.valgrind [new file with mode: 0644]
lib/regcomp.c
lib/regex_internal.c
lib/regex_internal.h
lib/regexec.c
lib/rpmatch.c
lib/stdarg.in.h
lib/stdbool.in.h
lib/stdint.in.h
lib/stdio-impl.h [new file with mode: 0644]
lib/stdio-write.c [new file with mode: 0644]
lib/stdio.in.h
lib/stdlib.in.h
lib/strchrnul.c
lib/strchrnul.valgrind [new file with mode: 0644]
lib/strerror.c
lib/string.in.h
lib/strings.in.h
lib/sys_stat.in.h
lib/sys_time.in.h
lib/sysexits.in.h
lib/time.in.h
lib/unistd.in.h
lib/uniwidth/width.c
lib/utimens.c
lib/vasnprintf.c
lib/wchar.in.h
lib/wctype.in.h
lib/write.c [new file with mode: 0644]
lib/xalloc.h
lib/xmalloc.c
m4/close.m4 [new file with mode: 0644]
m4/dirent_h.m4 [new file with mode: 0644]
m4/dirfd.m4
m4/eoverflow.m4 [deleted file]
m4/errno_h.m4 [new file with mode: 0644]
m4/extensions.m4
m4/fchdir.m4
m4/fclose.m4 [new file with mode: 0644]
m4/fpending.m4
m4/getdate.m4
m4/getdelim.m4
m4/getopt.m4
m4/gnulib-common.m4
m4/gnulib-comp.m4
m4/include_next.m4
m4/inttypes.m4
m4/lib-link.m4
m4/lib-prefix.m4
m4/lstat.m4
m4/mbstate_t.m4
m4/open.m4 [new file with mode: 0644]
m4/openat.m4
m4/printf.m4 [new file with mode: 0644]
m4/rawmemchr.m4 [new file with mode: 0644]
m4/regex.m4
m4/rpmatch.m4
m4/sleep.m4
m4/snprintf.m4
m4/stdint.m4
m4/stdio_h.m4
m4/stdlib_h.m4
m4/strdup.m4
m4/strerror.m4
m4/string_h.m4
m4/strndup.m4
m4/strtoll.m4
m4/strtoull.m4
m4/sys_stat_h.m4
m4/unistd_h.m4
m4/utimens.m4
m4/vsnprintf.m4
m4/wchar.m4
m4/wctype.m4
m4/wcwidth.m4
m4/write.m4 [new file with mode: 0644]
po/bg.gmo
po/bg.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/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/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.in
src/Makefile.in
src/buffer.c
src/checkpoint.c
src/common.h
src/create.c
src/extract.c
src/incremen.c
src/list.c
src/names.c
src/suffix.c
src/system.c
src/tar.c
src/transform.c
src/xheader.c
tests/Makefile.am
tests/Makefile.in
tests/atlocal.in
tests/delete05.at
tests/genfile.c
tests/gzip.at
tests/ignfail.at
tests/incremental.at
tests/listed01.at
tests/longv7.at
tests/lustar01.at
tests/lustar02.at
tests/multiv05.at
tests/multiv06.at [new file with mode: 0644]
tests/package.m4
tests/rename04.at [new file with mode: 0644]
tests/rename05.at [new file with mode: 0644]
tests/shortfile.at
tests/sparsemv.at
tests/sparsemvp.at
tests/testsuite
tests/testsuite.at
tests/volsize.at

index f2723fb8696c589fd871912ea9dc314a553d1a41..7dd05f813922bdf51b3a04afd489f419b3025033 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,195 @@
+2008-11-30  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/xheader.c: Remove duplicate inclusion of fnmatch.h. Reported
+       by Jim Meyering.
+
+2008-11-25  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       Do not try to drain the input pipe before closing the
+       archive. 
+       
+       * src/buffer.c (close_archive): Remove call to
+       sys_drain_input_pipe. Pass hit_eof as the second
+       argument to sys_wait_for_child.
+       * src/common.h (sys_drain_input_pipe): Remove
+       (sys_wait_for_child): Declare second argument.
+       * src/system.c (sys_drain_input_pipe): Remove.
+       (sys_wait_for_child): Take two arguments. The second one helps to
+       decide whether to tolerate child termination on SIGPIPE.
+
+2008-11-03  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/buffer.c (_write_volume_label): Fix typo, which prevented
+       `-V label -M' from working.
+
+2008-10-30  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * NEWS, configure.ac: Version 1.20.91
+       * doc/tar.texi: Document transformation scope flags.
+       * src/common.h (transform_symlinks_option): Remove in favor of
+       transformation scope flags.
+       (XFORM_REGFILE, XFORM_LINK, XFORM_SYMLINK, XFORM_ALL): New macros.
+       (transform_name, transform_member_name, transform_name_fp): Take
+       an additional argument, specifying scope flags.
+       * src/create.c: Reflect changes to transform_name.
+       * src/extract.c (extract_link, extract_symlink): Remove calls to
+       transform_member_name. It is done in read_header.
+       * src/list.c (decode_xform): Reflect change in data type of 2nd
+       argument. 
+       (transform_member_name): 2nd arg is int.
+       (decode_header): Transform file name and link target names.
+       * src/tar.c: Remove --transform-symlinks.
+       * src/transform.c (struct transform): New member `flags'.
+       (transform_flags): New variable.
+       (parse_transform_expr): Parse transformation scope flags. Allow to
+       set global flags using `flags=' syntax.
+       (_transform_name_to_obstack, transform_name_fp)
+       (transform_name): Take an additional argument, specifying scope
+       flags. 
+
+2008-10-19  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * THANKS: Add Ed Leaver.
+       * src/buffer.c (short_read): Remove !read_full_records condition,
+       which was always false on a first record and thus disabled record
+       size autodetection.  Thanks Ed Leaver for the patch.
+       (_gnu_flush_read): Handle blocking_factor == 1.
+       * tests/sparsemv.at: Reflect changes to buffer.c.
+       * tests/sparsemvp.at: Likewise.
+       * tests/volsize.at: Likewise.
+       * NEWS: Update.
+       
+2008-10-16  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/common.h (transform_symlinks_option): New global.
+       * src/create.c (dump_file0): Transform symlink targets only if
+       explicitly required.  Thanks Cyril Strejc for reporting the
+       problem.
+       * src/tar.c (parse_opt): New options --transform-symlinks and
+       --no-transform-symlinks. New alias --xform to the --transform
+       option.
+       * doc/tar.texi: Document --transform-symlinks
+       * NEWS: Update.
+       * THANKS: Update.
+       
+       * src/names.c (name_gather): Use xzalloc.
+       * src/buffer.c (short_read): Move record size detection before
+       the loop.
+       
+2008-10-07  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/tar.c (options): Add --lzop option.
+
+2008-10-05  Xavier Hienne <xavier.hienne@free.fr> (tiny change)
+
+       * src/checkpoint.c (checkpoint_compile_action): Add missing
+       `else'. 
+
+2008-09-24  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * NEWS: Update.
+       * doc/tar.texi: Update.
+       * src/tar.c: New option --no-null.
+
+2008-09-23  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/common.h (filename_terminator): Remove global.
+       * src/tar.c (filename_terminator): New static.
+       * src/names.c (name_next_elt): Do not depend on
+       filename_terminator, this was a leftover from 1.13.
+
+2008-09-18  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * doc/tar.texi: Remove incorrect example.
+
+2008-09-07  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/incremen.c (dumpdir_create0): Eliminate gcc warning.
+       (attach_directory): Bugfix - add missing return statement.
+       * THANKS: Add Enric Hernandez
+
+2008-07-31  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/incremen.c (struct directory): New member `next'.  Change
+       type of `name'.
+       (dirhead, dirtail): New statics.
+       (make_directory): Reflect changes to struct directory.
+       (free_directory, attach_directory): New functions.
+       (dirlist_replace_prefix): New function.
+       (note_directory): Use attach_directory, instead of make_directory,
+       (find_directory, find_directory_meta): Use free_directory.
+       (procdir): Replace directory prefixes in directory list to avoid
+       marking subdirectories as renamed after renaming their parent
+       directory.
+       (append_incremental_renames): Iterate over directory list, not
+       hash table, to preserve logical ordering of renames.
+       * tests/rename04.at, tests/rename05.at: New test cases.
+       * tests/Makefile.am, tests/testsuite.at: Add rename04.at and
+       rename05.at.
+       * tests/atlocal.in (decho): New function.
+       * tests/multiv06.at: Use decho instead of echo2.
+       * tests/incremental.at: Raise wait interval to 2 seconds.
+       
+2008-07-24  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/tar.c (decode_options): Do not allow volume length less
+       than record size.
+       * src/buffer.c (_gnu_flush_write): Compensate for the effect
+       of eventual flush_archive occurring in the middle of buffer
+       move.
+       Increment records_written only if _flush_write was able to write
+       something.
+       * tests/multiv06.at: New testcase.
+       * tests/Makefile.am, test/testsuite.at: Add tests/multiv06.at
+
+2008-06-26  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * configure.ac, NEWS: Version 1.20.90
+       * doc/tar.texi: Document -J, --no-auto-compress, etc.
+       * src/buffer.c (ct_tar): New constant.
+       (magic): Add lzop support.  Proposed by Kevin Day
+       <thekevinday@gmail.com>.
+       (check_compressed_archive): Do not use autodetect if the
+       compression program was specified explicitly.
+       Fall back to analyzing archive name, if the autodetection fails.
+       * src/suffix.c: Add .lzo
+       * src/tar.c: New options --lzop and --no-auto-compress.
+       New short option -J (alias for --lzma).
+
+       * src/buffer.c (try_new_volume): Print more information with error
+       diagnostics.
+       (_gnu_flush_write): Improve error checking.  Adjust
+       real_s_sizeleft before calling new_volume to avoid creating
+       malformed multivolume headers.
+       * tests/delete05.at, tests/gzip.at, tests/ignfail.at,
+       tests/longv7.at, tests/lustar01.at, tests/lustar02.at,
+       tests/shortfile.at: Update to match new diagnostic wording
+       (see 2008-05-06).
+       
+       * NEWS: Update.
+
+2008-06-14  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * doc/tar.texi (exclude): Document support for new VCS.
+       * THANKS: Update.
+       * NEWS: Update. 
+       * tests/multiv05.at: Fix typos.
+       * tests/volsize.at: Remove a TZ dependency.
+       
+2008-06-14  Dan Drake <dan@dandrake.org> (tiny change)
+
+       * src/tar.c (exclude_vcs_files): Support for Bazaar, Mercurial and
+       Darcs. 
+
+2008-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
+
+       * src/tar.c (main): Reword the "delayed error" message. New
+       wording proposed by Karl Berry.
+
 2008-02-20  Sergey Poznyakoff  <gray@gnu.org.ua>
 
+       * configure.ac: Raise version number to 1.20
+       * src/compare.c (diff_dumpdir): const.
        * src/common.h (dumpdir_t,dumpdir_iter_t): New data types.
        (dumpdir_create0,dumpdir_create,dumpdir_free,dumpdir_locate)
        (dumpdir_first,dumpdir_next): New functions.
        (struct directory): Change members char *contents, *icontents to
        struct dumpdir *dump, *idump. All references updated.
        (note_directory): Last arg is const.
+       * src/names.c (add_hierarchy_to_namelist): buffer is const.
+       * tests/incr03.at, tests/incr04.at, tests/rename02.at,
+       tests/rename03.at: Insert calls to sleep between creation of files
+       and adding them to the archive.
        
-       * src/system.c: Remove setenv.h
-
 2008-03-31  Sergey Poznyakoff  <gray@gnu.org.ua>
 
        * src/create.c (dump_file0): Count links only for actually dumped
diff --git a/INSTALL b/INSTALL
index e8edf5c4c533ec87304ece83edab3af5a070cf18..8b82ade08e87bbfb02fbf4c3b45b181ab6dda8cb 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -2,15 +2,15 @@ Installation Instructions
 *************************
 
 Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
-2006 Free Software Foundation, Inc.
+2006, 2007, 2008 Free Software Foundation, Inc.
 
-This file is free documentation; the Free Software Foundation gives
+   This file is free documentation; the Free Software Foundation gives
 unlimited permission to copy, distribute and modify it.
 
 Basic Installation
 ==================
 
-Briefly, the shell commands `./configure; make; make install' should
+   Briefly, the shell commands `./configure; make; make install' should
 configure, build, and install this package.  The following
 more-detailed instructions are generic; see the `README' file for
 instructions specific to this package.
@@ -73,9 +73,9 @@ The simplest way to compile this package is:
 Compilers and Options
 =====================
 
-Some systems require unusual options for compilation or linking that the
-`configure' script does not know about.  Run `./configure --help' for
-details on some of the pertinent environment variables.
+   Some systems require unusual options for compilation or linking that
+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
@@ -88,7 +88,7 @@ is an example:
 Compiling For Multiple Architectures
 ====================================
 
-You can compile the package for more than one kind of computer at the
+   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
 directory where you want the object files and executables to go and run
@@ -100,10 +100,24 @@ architecture at a time in the source code directory.  After you have
 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
+this:
+
+     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+                 CPP="gcc -E" CXXCPP="g++ -E"
+
+   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.
+
 Installation Names
 ==================
 
-By default, `make install' installs the package's commands under
+   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'.
@@ -126,7 +140,7 @@ option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
 Optional Features
 =================
 
-Some packages pay attention to `--enable-FEATURE' options to
+   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
@@ -138,14 +152,36 @@ 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.
 
+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
+order to use an ANSI C compiler:
+
+     ./configure CC="cc -Ae"
+
+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+
+   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
+
+     ./configure CC="cc"
+
+and if that doesn't work, try
+
+     ./configure CC="cc -nodtk"
+
 Specifying the System Type
 ==========================
 
-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 a
-message saying it cannot guess the machine type, give it the
+   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
+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:
 
@@ -171,9 +207,9 @@ 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'.
+   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.
@@ -182,7 +218,7 @@ 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
+   Variables not defined in a site shell script can be set in the
 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
@@ -201,11 +237,19 @@ an Autoconf bug.  Until the bug is fixed you can use this workaround:
 `configure' Invocation
 ======================
 
-`configure' recognizes the following options to control how it operates.
+   `configure' recognizes the following options to control how it
+operates.
 
 `--help'
 `-h'
-     Print a summary of the options to `configure', and exit.
+     Print a summary of all of the options to `configure', and exit.
+
+`--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.
 
 `--version'
 `-V'
@@ -232,6 +276,16 @@ an Autoconf bug.  Until the bug is fixed you can use this workaround:
      Look for the package's source code in directory DIR.  Usually
      `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.
+
+`--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.
 
index 20fb13497145a4222b6083f23458009579a09ec1..08ae832d490e4d0590e3da2c623b5f585fcf07ab 100644 (file)
@@ -52,19 +52,20 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/alloca.m4 \
        $(top_srcdir)/m4/canonicalize-lgpl.m4 \
        $(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \
        $(top_srcdir)/m4/clock_time.m4 \
-       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/closeout.m4 \
-       $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/d-ino.m4 \
+       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
+       $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/d-ino.m4 $(top_srcdir)/m4/dirent_h.m4 \
        $(top_srcdir)/m4/dirfd.m4 $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \
        $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \
-       $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/eoverflow.m4 \
+       $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \
        $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exclude.m4 \
        $(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.m4 \
-       $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fcntl-safer.m4 \
-       $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fileblocks.m4 \
-       $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
-       $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseeko.m4 \
-       $(top_srcdir)/m4/ftruncate.m4 \
+       $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fclose.m4 \
+       $(top_srcdir)/m4/fcntl-safer.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+       $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/float_h.m4 \
+       $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \
+       $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/ftruncate.m4 \
        $(top_srcdir)/m4/getcwd-abort-bug.m4 \
        $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
        $(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getdelim.m4 \
@@ -89,41 +90,43 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/alloca.m4 \
        $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \
        $(top_srcdir)/m4/memset.m4 $(top_srcdir)/m4/mkdtemp.m4 \
        $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/modechange.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/openat.m4 \
-       $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/open.m4 \
+       $(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/paxutils.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/progtest.m4 \
        $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
-       $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
-       $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rmdir.m4 \
-       $(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \
-       $(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \
-       $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \
-       $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/sleep.m4 $(top_srcdir)/m4/snprintf.m4 \
-       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
-       $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
-       $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \
-       $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
-       $(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcase.m4 \
-       $(top_srcdir)/m4/strchrnul.m4 $(top_srcdir)/m4/strdup.m4 \
-       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/string_h.m4 \
-       $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \
-       $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoimax.m4 \
-       $(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/strtoll.m4 \
-       $(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \
-       $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/sys_stat_h.m4 \
-       $(top_srcdir)/m4/sys_time_h.m4 $(top_srcdir)/m4/sysexits.m4 \
-       $(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \
-       $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
-       $(top_srcdir)/m4/unistd-safer.m4 $(top_srcdir)/m4/unistd_h.m4 \
-       $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \
-       $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utime.m4 \
-       $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimes-null.m4 \
-       $(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \
-       $(top_srcdir)/m4/vsnprintf.m4 $(top_srcdir)/m4/wchar.m4 \
-       $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wctype.m4 \
-       $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \
+       $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/readlink.m4 \
+       $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \
+       $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rmt.m4 \
+       $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/rtapelib.m4 \
+       $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \
+       $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \
+       $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \
+       $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \
+       $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stdarg.m4 \
+       $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stdint.m4 \
+       $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/stpcpy.m4 \
+       $(top_srcdir)/m4/strcase.m4 $(top_srcdir)/m4/strchrnul.m4 \
+       $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
+       $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \
+       $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
+       $(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \
+       $(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \
+       $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
+       $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
+       $(top_srcdir)/m4/sysexits.m4 $(top_srcdir)/m4/system.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
+       $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlinkdir.m4 \
+       $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \
+       $(top_srcdir)/m4/utime.m4 $(top_srcdir)/m4/utimens.m4 \
+       $(top_srcdir)/m4/utimes-null.m4 $(top_srcdir)/m4/utimes.m4 \
+       $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vsnprintf.m4 \
+       $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wchar_t.m4 \
+       $(top_srcdir)/m4/wctype.m4 $(top_srcdir)/m4/wcwidth.m4 \
+       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/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)/configure.ac
@@ -196,7 +199,13 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
-EOVERFLOW = @EOVERFLOW@
+EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
+EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
+ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
+ENOLINK_VALUE = @ENOLINK_VALUE@
+EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
+EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
+ERRNO_H = @ERRNO_H@
 EXEEXT = @EXEEXT@
 FCNTL_H = @FCNTL_H@
 FLOAT_H = @FLOAT_H@
@@ -206,30 +215,47 @@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CHOWN = @GNULIB_CHOWN@
+GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DIRFD = @GNULIB_DIRFD@
 GNULIB_DUP2 = @GNULIB_DUP2@
 GNULIB_ENVIRON = @GNULIB_ENVIRON@
+GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
 GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
 GNULIB_FFLUSH = @GNULIB_FFLUSH@
 GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
 GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
 GNULIB_FREOPEN = @GNULIB_FREOPEN@
 GNULIB_FSEEK = @GNULIB_FSEEK@
 GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSYNC = @GNULIB_FSYNC@
 GNULIB_FTELL = @GNULIB_FTELL@
 GNULIB_FTELLO = @GNULIB_FTELLO@
 GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FWRITE = @GNULIB_FWRITE@
 GNULIB_GETCWD = @GNULIB_GETCWD@
 GNULIB_GETDELIM = @GNULIB_GETDELIM@
+GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
+GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
 GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
+GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
 GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
 GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
@@ -250,15 +276,26 @@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
 GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
 GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
 GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
+GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READLINK = @GNULIB_READLINK@
 GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SETENV = @GNULIB_SETENV@
 GNULIB_SLEEP = @GNULIB_SLEEP@
 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
 GNULIB_STPCPY = @GNULIB_STPCPY@
 GNULIB_STPNCPY = @GNULIB_STPNCPY@
 GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
@@ -274,25 +311,35 @@ GNULIB_STRSTR = @GNULIB_STRSTR@
 GNULIB_STRTOD = @GNULIB_STRTOD@
 GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
 GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
 GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
+GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNSETENV = @GNULIB_UNSETENV@
 GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
 GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
 GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
 GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
 GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
 GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WRITE = @GNULIB_WRITE@
 GREP = @GREP@
+HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
+HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
-HAVE_DECL_MKDIR = @HAVE_DECL_MKDIR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
@@ -306,22 +353,31 @@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
 HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
 HAVE_DUP2 = @HAVE_DUP2@
+HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
 HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSYNC = @HAVE_FSYNC@
 HAVE_FTELLO = @HAVE_FTELLO@
 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
+HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
-HAVE_IO_H = @HAVE_IO_H@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LCHMOD = @HAVE_LCHMOD@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
 HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
 HAVE_MEMPCPY = @HAVE_MEMPCPY@
 HAVE_MKDTEMP = @HAVE_MKDTEMP@
 HAVE_OS_H = @HAVE_OS_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
+HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
+HAVE_RPMATCH = @HAVE_RPMATCH@
 HAVE_SETENV = @HAVE_SETENV@
 HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
 HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
@@ -337,10 +393,15 @@ HAVE_STRNDUP = @HAVE_STRNDUP@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRSEP = @HAVE_STRSEP@
 HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
+HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
@@ -382,6 +443,7 @@ MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
 NEXT_DIRENT_H = @NEXT_DIRENT_H@
+NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_FLOAT_H = @NEXT_FLOAT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
@@ -407,13 +469,16 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 POSUB = @POSUB@
+PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
 PRIPTR_PREFIX = @PRIPTR_PREFIX@
 PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 PU_RMT_PROG = @PU_RMT_PROG@
 RANLIB = @RANLIB@
 REPLACE_CHOWN = @REPLACE_CHOWN@
+REPLACE_CLOSE = @REPLACE_CLOSE@
 REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
@@ -426,18 +491,25 @@ REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
 REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
 REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_PERROR = @REPLACE_PERROR@
 REPLACE_PRINTF = @REPLACE_PRINTF@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
 REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
 REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
 REPLACE_STRPTIME = @REPLACE_STRPTIME@
 REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
@@ -450,6 +522,7 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WRITE = @REPLACE_WRITE@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
@@ -465,6 +538,7 @@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 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@
+UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 VOID_UNSETENV = @VOID_UNSETENV@
diff --git a/NEWS b/NEWS
index a9036d5e8e17b8df25d452860184fcb6bb127430..41b30ea9214dc16cc49feb9933d43ea8fb950e7e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,73 @@
-GNU tar NEWS - User visible changes. 2008-04-14
+GNU tar NEWS - User visible changes. 2008-12-27
 Please send GNU tar bug reports to <bug-tar@gnu.org>
 
 \f
+version 1.21 - Sergey Poznyakoff, 2008-12-27
+
+* New short option -J
+
+A shortcut for --lzma.
+
+* New option --lzop
+
+* New option --no-auto-compress
+
+Cancels the effect of previous --auto-compress (-a) option.
+
+* New option --no-null
+
+Cancels the effect of previous --null option.
+
+* Compressed format recognition
+
+If tar is unable to determine archive compression format, it falls
+back to using archive suffix to determine it.
+
+* VCS support.
+
+Using --exclude-vcs handles also files used internally by Bazaar,
+Mercurial and Darcs.
+
+* Transformation scope flags
+
+Name transformation expressions understand additional flags that
+control type of archive members affected by them.  The flags are:
+
+ - r
+   Apply transformation to regular archive members.
+
+ - s
+   Apply transformation to symbolic link targets.
+
+ - h  
+   Apply transformation to hard link targets.
+
+Corresponding upper-case letters negate the meaning, so that
+`H' means ``do not apply transformation to hard link targets.''
+
+The scope flags are listed in the third part of an `s' expression,
+e.g.:
+
+   tar --transform 's|^|/usr/local/|S'
+
+Default is `rsh', which means that transformations are applied to
+both regular archive members and to the targets of symbolic and hard
+links.  If several transform expressions are used, the default flags
+can be changed using `flags=' statement before the expressions, e.g.:
+
+   tar --transform 'flags=S;s|^|/usr/local/|S'
+
+* Bugfixes
+
+** The --null option disabled handling of tar options in list files.  This
+is fixed.
+** Fixed record size autodetection.  If detected record size differs from
+the expected value (either default, or set on the command line), tar
+always prints a warning if verbosity level is set to 1 or greater,
+i.e. if either -t or -v option is given.
+
+\f
+
 version 1.20 - Sergey Poznyakoff, 2008-04-14
 
 * New option --auto-compress (-a)
diff --git a/THANKS b/THANKS
index 1b40c3eb0bb79460e9b12f04a3b4142ed8fb5bb3..dbb64d25f64f9cadcf372bb292915693979c897f 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -102,9 +102,11 @@ Clinton Carr               clint@netcom.com
 Conrad Hughes          chughes@maths.tcd.ie
 Constantin Belous      const@cris.net
 Coranth Gryphon                gryphon@bur.visidyne.com
+Cyril Strejc           strejc@unicontrols.cz
 Dale R. Worley         worley@world.std.com
 Dale Wiles             wiles@geordi.calspan.com
 Dan Bloch              dan@transarc.com
+Dan Drake               dan@dandrake.org
 Dan Reish              dreish@izzy.net
 Daniel Hagerty         hag@gnu.org
 Daniel Quinlan         quinlan@pathname.com
@@ -145,12 +147,14 @@ Drew Sullivan             drew@sni.ca
 Drew Trieger           trieger@woodstock.abbott.com
 Dunstan Vavasour       dev@cegelecproj.co.uk
 Ed Childs              echilds@bgs.com
+Ed Leaver              ewleaver@comcast.net
 Edgar Taube            et@immd8.informatik.uni-erlangen.de
 Eduardo Kortright      eduardo@cs.ua.edu
 Eduardo V. de Rivas    eddie@asterion.com
 Edward Welbourne       eddy@gen.cam.ac.uk
 Elmar Heeb             heeb@itp.ethz.ch
 Elmer Fittery          elmerf@ptw.com
+Enric Hernandez        ehernandez@notariado.org
 Eric Backus            ericb@lsid.hp.com
 Eric Benson            eb@amazon.com
 Eric Blake             ebb9@byu.net
index bfc23db499b5aefe3f3b988f1c497813d461d34e..af762e3d4c46578c0c2250350d33a7762181d46b 100644 (file)
@@ -1021,9 +1021,11 @@ m4_include([m4/chdir-long.m4])
 m4_include([m4/chown.m4])
 m4_include([m4/clock_time.m4])
 m4_include([m4/close-stream.m4])
+m4_include([m4/close.m4])
 m4_include([m4/closeout.m4])
 m4_include([m4/codeset.m4])
 m4_include([m4/d-ino.m4])
+m4_include([m4/dirent_h.m4])
 m4_include([m4/dirfd.m4])
 m4_include([m4/dirname.m4])
 m4_include([m4/dos.m4])
@@ -1031,12 +1033,13 @@ m4_include([m4/double-slash-root.m4])
 m4_include([m4/dup2.m4])
 m4_include([m4/eealloc.m4])
 m4_include([m4/environ.m4])
-m4_include([m4/eoverflow.m4])
+m4_include([m4/errno_h.m4])
 m4_include([m4/error.m4])
 m4_include([m4/exclude.m4])
 m4_include([m4/exitfail.m4])
 m4_include([m4/extensions.m4])
 m4_include([m4/fchdir.m4])
+m4_include([m4/fclose.m4])
 m4_include([m4/fcntl-safer.m4])
 m4_include([m4/fcntl_h.m4])
 m4_include([m4/fileblocks.m4])
@@ -1093,13 +1096,16 @@ m4_include([m4/mkdtemp.m4])
 m4_include([m4/mktime.m4])
 m4_include([m4/modechange.m4])
 m4_include([m4/nls.m4])
+m4_include([m4/open.m4])
 m4_include([m4/openat.m4])
 m4_include([m4/pathmax.m4])
 m4_include([m4/paxutils.m4])
 m4_include([m4/po.m4])
+m4_include([m4/printf.m4])
 m4_include([m4/progtest.m4])
 m4_include([m4/quote.m4])
 m4_include([m4/quotearg.m4])
+m4_include([m4/rawmemchr.m4])
 m4_include([m4/readlink.m4])
 m4_include([m4/realloc.m4])
 m4_include([m4/regex.m4])
@@ -1162,6 +1168,7 @@ m4_include([m4/wchar_t.m4])
 m4_include([m4/wctype.m4])
 m4_include([m4/wcwidth.m4])
 m4_include([m4/wint_t.m4])
+m4_include([m4/write.m4])
 m4_include([m4/xalloc.m4])
 m4_include([m4/xgetcwd.m4])
 m4_include([m4/xsize.m4])
index 6603908c211dbecd16c02a91ce65e4558d968383..f0f0d363cc1bb32967fd1cc2644b8fba6f00a42e 100755 (executable)
@@ -4,7 +4,7 @@
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
 #   Free Software Foundation, Inc.
 
-timestamp='2008-03-12'
+timestamp='2008-09-28'
 
 # 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
@@ -796,7 +796,7 @@ EOF
            x86)
                echo i586-pc-interix${UNAME_RELEASE}
                exit ;;
-           EM64T | authenticamd)
+           EM64T | authenticamd | genuineintel)
                echo x86_64-unknown-interix${UNAME_RELEASE}
                exit ;;
            IA64)
@@ -935,6 +935,9 @@ EOF
        if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
        echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
        exit ;;
+    padre:Linux:*:*)
+       echo sparc-unknown-linux-gnu
+       exit ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
        # Look for CPU level
        case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
@@ -985,9 +988,6 @@ EOF
          a.out-i386-linux)
                echo "${UNAME_MACHINE}-pc-linux-gnuaout"
                exit ;;
-         coff-i386)
-               echo "${UNAME_MACHINE}-pc-linux-gnucoff"
-               exit ;;
          "")
                # Either a pre-BFD a.out linker (linux-gnuoldld) or
                # one that does not give us useful --help.
index 35f959b87cfdc49df9e28460713cee6c2df4e07b..85c2f209beb72edebf886ca1de25f29f02c09aec 100755 (executable)
@@ -47,7 +47,7 @@ for cc_temp in $CC""; do
 done
 cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
 
-# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
+# Code taken from libtool.m4's _LT_COMPILER_PIC.
 
 wl=
 if test "$GCC" = yes; then
@@ -64,7 +64,7 @@ else
           ;;
       esac
       ;;
-    mingw* | cygwin* | pw32* | os2*)
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
       ;;
     hpux9* | hpux10* | hpux11*)
       wl='-Wl,'
@@ -76,7 +76,13 @@ else
       ;;
     linux* | k*bsd*-gnu)
       case $cc_basename in
-        icc* | ecc*)
+        ecc*)
+          wl='-Wl,'
+          ;;
+        icc* | ifort*)
+          wl='-Wl,'
+          ;;
+        lf95*)
           wl='-Wl,'
           ;;
         pgcc | pgf77 | pgf90)
@@ -124,7 +130,7 @@ else
   esac
 fi
 
-# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
+# Code taken from libtool.m4's _LT_LINKER_SHLIBS.
 
 hardcode_libdir_flag_spec=
 hardcode_libdir_separator=
@@ -132,7 +138,7 @@ hardcode_direct=no
 hardcode_minus_L=no
 
 case "$host_os" in
-  cygwin* | mingw* | pw32*)
+  cygwin* | mingw* | pw32* | cegcc*)
     # FIXME: the MSVC++ port hasn't been tested in a loooong time
     # When not using gcc, we currently assume that we are using
     # Microsoft Visual C++.
@@ -182,7 +188,7 @@ if test "$with_gnu_ld" = yes; then
         ld_shlibs=no
       fi
       ;;
-    cygwin* | mingw* | pw32*)
+    cygwin* | mingw* | pw32* | cegcc*)
       # hardcode_libdir_flag_spec is actually meaningless, as there is
       # no search path for DLLs.
       hardcode_libdir_flag_spec='-L$libdir'
@@ -326,7 +332,7 @@ else
       ;;
     bsdi[45]*)
       ;;
-    cygwin* | mingw* | pw32*)
+    cygwin* | mingw* | pw32* | cegcc*)
       # When not using gcc, we currently assume that we are using
       # Microsoft Visual C++.
       # hardcode_libdir_flag_spec is actually meaningless, as there is
@@ -494,7 +500,7 @@ else
 fi
 
 # Check dynamic linker characteristics
-# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
+# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER.
 # Unlike libtool.m4, here we don't care about _all_ names of the library, but
 # only about the one the linker finds when passed -lNAME. This is the last
 # element of library_names_spec in libtool.m4, or possibly two of them if the
@@ -517,7 +523,7 @@ case "$host_os" in
   bsdi[45]*)
     library_names_spec='$libname$shrext'
     ;;
-  cygwin* | mingw* | pw32*)
+  cygwin* | mingw* | pw32* | cegcc*)
     shrext=.dll
     library_names_spec='$libname.dll.a $libname.lib'
     ;;
index 087f29bc5d7b874c430da79d145021f5dd3c4ff8..053e7381fa01f7a6842ba34a1316912163712293 100755 (executable)
@@ -4,7 +4,7 @@
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
 #   Free Software Foundation, Inc.
 
-timestamp='2008-03-26'
+timestamp='2008-09-08'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -288,7 +288,7 @@ case $basic_machine in
        | v850 | v850e \
        | we32k \
        | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
-       | z8k)
+       | z8k | z80)
                basic_machine=$basic_machine-unknown
                ;;
        m6811 | m68hc11 | m6812 | m68hc12)
@@ -375,7 +375,7 @@ case $basic_machine in
        | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
        | xstormy16-* | xtensa*-* \
        | ymp-* \
-       | z8k-*)
+       | z8k-* | z80-*)
                ;;
        # Recognize the basic CPU types without company name, with glob match.
        xtensa*)
@@ -463,6 +463,10 @@ case $basic_machine in
                basic_machine=c90-cray
                os=-unicos
                ;;
+        cegcc)
+               basic_machine=arm-unknown
+               os=-cegcc
+               ;;
        convex-c1)
                basic_machine=c1-convex
                os=-bsd
@@ -530,6 +534,10 @@ case $basic_machine in
                basic_machine=m88k-motorola
                os=-sysv3
                ;;
+       dicos)
+               basic_machine=i686-pc
+               os=-dicos
+               ;;
        djgpp)
                basic_machine=i586-pc
                os=-msdosdjgpp
@@ -1132,6 +1140,10 @@ case $basic_machine in
                basic_machine=z8k-unknown
                os=-sim
                ;;
+       z80-*-coff)
+               basic_machine=z80-unknown
+               os=-sim
+               ;;
        none)
                basic_machine=none-none
                os=-none
@@ -1252,7 +1264,7 @@ case $os in
              | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
              | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
              | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-             | -chorusos* | -chorusrdb* \
+             | -chorusos* | -chorusrdb* | -cegcc* \
              | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
              | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
              | -uxpv* | -beos* | -mpeix* | -udk* \
@@ -1392,6 +1404,9 @@ case $os in
        -zvmoe)
                os=-zvmoe
                ;;
+       -dicos*)
+               os=-dicos
+               ;;
        -none)
                ;;
        *)
index 175c320de495a2ea4789967a9c36bd5bef55309d..1901d685aee35c1006c6e77d6e891abf0f0ab2aa 100644 (file)
@@ -3,7 +3,7 @@
 % Load plain if necessary, i.e., if running under initex.
 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
 %
-\def\texinfoversion{2008-03-31.10}
+\def\texinfoversion{2008-10-30.07}
 %
 % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
 % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
 \def\jmacro{j}
 \def\dotless#1{%
   \def\temp{#1}%
-  \ifx\temp\imacro \ptexi
-  \else\ifx\temp\jmacro \j
+  \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi
+  \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi
   \else \errmessage{@dotless can be used only with i or j}%
   \fi\fi
 }
@@ -924,8 +924,9 @@ where each line of input produces a line of output.}
   \pushthisfilestack
   \def\thisfile{#1}%
   {%
-    \makevalueexpandable  % we want to expand any @value in FILE.  
+    \makevalueexpandable  % we want to expand any @value in FILE.
     \turnoffactive        % and allow special characters in the expansion
+    \indexnofonts         % Allow `@@' and other weird things in file names.
     \edef\temp{\noexpand\input #1 }%
     %
     % This trickery is to read FILE outside of a group, in case it makes
@@ -1119,6 +1120,16 @@ where each line of input produces a line of output.}
   \mathunderscore
   \let\\ = \mathbackslash
   \mathactive
+  % make the texinfo accent commands work in math mode
+  \let\"=\ddot
+  \let\'=\acute
+  \let\==\bar
+  \let\^=\hat
+  \let\`=\grave
+  \let\u=\breve
+  \let\v=\check
+  \let\~=\tilde
+  \let\dotaccent=\dot
   $\finishmath
 }
 \def\finishmath#1{#1$\endgroup}  % Close the group opened by \tex.
@@ -1140,9 +1151,11 @@ where each line of input produces a line of output.}
   }
 }
 
-% @bullet and @minus need the same treatment as @math, just above.
+% Some math mode symbols.
 \def\bullet{$\ptexbullet$}
-\def\minus{$-$}
+\def\geq{\ifmmode \ge\else $\ge$\fi}
+\def\leq{\ifmmode \le\else $\le$\fi}
+\def\minus{\ifmmode -\else $-$\fi}
 
 % @dots{} outputs an ellipsis using the current font.
 % We do .5em per period so that it has the same spacing in the cm
@@ -2477,6 +2490,7 @@ end
 {
   \catcode`\-=\active \catcode`\_=\active
   \catcode`\'=\active \catcode`\`=\active
+  \global\let'=\rq \global\let`=\lq  % default definitions
   %
   \global\def\code{\begingroup
     \catcode\rquoteChar=\active \catcode\lquoteChar=\active
@@ -3862,11 +3876,11 @@ end
 \def\dosynindex#1#2#3{%
   % Only do \closeout if we haven't already done it, else we'll end up
   % closing the target index.
-  \expandafter \ifx\csname donesynindex#2\endcsname \undefined
+  \expandafter \ifx\csname donesynindex#2\endcsname \relax
     % The \closeout helps reduce unnecessary open files; the limit on the
     % Acorn RISC OS is a mere 16 files.
     \expandafter\closeout\csname#2indfile\endcsname
-    \expandafter\let\csname\donesynindex#2\endcsname = 1
+    \expandafter\let\csname donesynindex#2\endcsname = 1
   \fi
   % redefine \fooindfile:
   \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname
@@ -5958,7 +5972,7 @@ end
 % we're doing normal filling.  So, when using \aboveenvbreak and
 % \afterenvbreak, temporarily make \parskip 0.
 %
-\envdef\quotation{%
+\def\quotationstart{%
   {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
   \parindent=0pt
   %
@@ -5973,6 +5987,17 @@ end
   \parsearg\quotationlabel
 }
 
+\envdef\quotation{%
+  \setnormaldispenv
+  \quotationstart
+}
+
+\envdef\smallquotation{%
+  \setsmalldispenv
+  \quotationstart
+}
+\let\Esmallquotation = \Equotation
+
 % We have retained a nonzero parskip for the environment, since we're
 % doing normal filling.
 %
@@ -6014,12 +6039,6 @@ end
 \def\uncatcodespecials{%
   \def\do##1{\catcode`##1=\other}\dospecials}
 %
-% [Knuth] pp. 380,381,391
-% Disable Spanish ligatures ?` and !` of \tt font
-\begingroup
-  \catcode`\`=\active\gdef`{\relax\lq}
-\endgroup
-%
 % Setup for the @verb command.
 %
 % Eight spaces for a tab
@@ -6069,7 +6088,7 @@ end
 \def\codequoteleft{%
   \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax
     \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax
-      `%
+      \relax`% the \relax disables the `! and `? ligatures
     \else \char'22 \fi
   \else \char'22 \fi
 }
@@ -6164,6 +6183,7 @@ end
   {%
     \makevalueexpandable
     \setupverbatim
+    \indexnofonts       % Allow `@@' and other weird things in file names.
     \input #1
     \afterenvbreak
   }%
@@ -7735,10 +7755,9 @@ end
 
 \message{localization,}
 
-% @documentlanguage is usually given very early, just after
-% @setfilename.  If done too late, it may not override everything
-% properly.  Single argument is the language (de) or locale (de_DE)
-% abbreviation.  It would be nice if we could set up a hyphenation file.
+% For single-language documents, @documentlanguage is usually given very
+% early, just after @documentencoding.  Single argument is the language
+% (de) or locale (de_DE) abbreviation.
 %
 {
   \catcode`\_ = \active
@@ -7751,10 +7770,11 @@ end
     \ifeof 1
       \documentlanguagetrywithoutunderscore{#1_\finish}%
     \else
+      \globaldefs = 1  % everything in the txi-LL files needs to persist
       \input txi-#1.tex
     \fi
     \closein 1
-  \endgroup
+  \endgroup % end raw TeX
 \endgroup}
 }
 %
@@ -7773,9 +7793,36 @@ end
 }
 %
 \newhelp\nolanghelp{The given language definition file cannot be found or
-is empty.  Maybe you need to install it?  In the current directory
-should work if nowhere else does.}
+is empty.  Maybe you need to install it?  Putting it in the current
+directory should work if nowhere else does.}
 
+% This macro is called from txi-??.tex files; the first argument is the
+% \language name to set (without the "\lang@" prefix), the second and
+% third args are \{left,right}hyphenmin.
+% 
+% The language names to pass are determined when the format is built.
+% See the etex.log file created at that time, e.g.,
+% /usr/local/texlive/2008/texmf-var/web2c/pdftex/etex.log.
+% 
+% With TeX Live 2008, etex now includes hyphenation patterns for all
+% available languages.  This means we can support hyphenation in
+% Texinfo, at least to some extent.  (This still doesn't solve the
+% accented characters problem.)
+% 
+\catcode`@=11
+\def\txisetlanguage#1#2#3{%
+  % do not set the language if the name is undefined in the current TeX.
+  \expandafter\ifx\csname lang@#1\endcsname \relax
+    \message{no patterns for #1}%
+  \else
+    \global\language = \csname lang@#1\endcsname
+  \fi
+  % but there is no harm in adjusting the hyphenmin values regardless.
+  \global\lefthyphenmin = #2\relax
+  \global\righthyphenmin = #3\relax
+}
+
+% Helpers for encodings.
 % Set the catcode of characters 128 through 255 to the specified number.
 %
 \def\setnonasciicharscatcode#1{%
@@ -8969,7 +9016,14 @@ should work if nowhere else does.}
 @catcode`@# = @other
 @catcode`@% = @other
 
-
+@c Finally, make ` and ' active, so that txicodequoteundirected and
+@c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}.  If we
+@c don't make ` and ' active, @code will not get them as active chars.
+@c Do this last of all since we use ` in the previous @catcode assignments.
+@c (not ready yet, sigh)
+@c atcode`@'=@active @let'@rq
+@c atcode`@`=@active @let`@lq
 @c Local variables:
 @c eval: (add-hook 'write-file-hooks 'time-stamp)
 @c page-delimiter: "^\\\\message"
index 3f576f35129303b12327d9c4d7e06f996294f4fb..3607fc11bacf1e4f77b5e864d11305e1c0fbcced 100644 (file)
@@ -71,9 +71,6 @@
    language is requested. */
 #undef ENABLE_NLS
 
-/* Define as good substitute value for EOVERFLOW. */
-#undef EOVERFLOW
-
 /* Define if gnulib's fchdir() replacement is used. */
 #undef FCHDIR_REPLACEMENT
 
@@ -96,6 +93,9 @@
 /* Define to make the limit macros in <stdint.h> visible. */
 #undef GL_TRIGGER_STDC_LIMIT_MACROS
 
+/* Define to 1 when using the gnulib module canonicalize-lgpl. */
+#undef GNULIB_CANONICALIZE_LGPL
+
 /* Define to 1 when using the gnulib module close-stream. */
 #undef GNULIB_CLOSE_STREAM
 
 /* Define to indicate the 'malloc' module. */
 #undef GNULIB_MALLOC_GNU
 
+/* Define to 1 when using the gnulib module open. */
+#undef GNULIB_OPEN
+
 /* Define to 1 to add extern declaration of program_invocation_name to argp.h
    */
 #undef GNULIB_PROGRAM_INVOCATION_NAME
    don't. */
 #undef HAVE_DECL_MEMRCHR
 
-/* Define to 1 if you have the declaration of `mkdir', and to 0 if you don't.
-   */
-#undef HAVE_DECL_MKDIR
-
 /* Define if program_invocation_name is declared */
 #undef HAVE_DECL_PROGRAM_INVOCATION_NAME
 
    don't. */
 #undef HAVE_DECL_PUTC_UNLOCKED
 
+/* Define to 1 if you have the declaration of `sleep', and to 0 if you don't.
+   */
+#undef HAVE_DECL_SLEEP
+
 /* Define to 1 if you have the declaration of `snprintf', and to 0 if you
    don't. */
 #undef HAVE_DECL_SNPRINTF
 /* Define if you have the declaration of environ. */
 #undef HAVE_ENVIRON_DECL
 
+/* Define to 1 if you have the <errno.h> header file. */
+#undef HAVE_ERRNO_H
+
 /* Define to 1 if you have the `fchdir' function. */
 #undef HAVE_FCHDIR
 
 /* Define to 1 if you have the `funlockfile' function. */
 #undef HAVE_FUNLOCKFILE
 
+/* Define to 1 if you have the `futimens' function. */
+#undef HAVE_FUTIMENS
+
 /* Define to 1 if you have the `futimes' function. */
 #undef HAVE_FUTIMES
 
 /* Define to 1 if you have the <iconv.h> header file. */
 #undef HAVE_ICONV_H
 
-/* Define if your compiler supports the #include_next directive. */
-#undef HAVE_INCLUDE_NEXT
-
 /* Define to 1 if the compiler supports one of the keywords 'inline',
    '__inline__', '__inline' and effectively inlines functions marked as such.
    */
    declares uintmax_t. */
 #undef HAVE_INTTYPES_H_WITH_UINTMAX
 
-/* Define to 1 if you have the <io.h> header file. */
-#undef HAVE_IO_H
-
 /* Define to 1 if you have the `isblank' function. */
 #undef HAVE_ISBLANK
 
 /* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
 #undef HAVE_LANGINFO_CODESET
 
+/* Define if you have <langinfo.h> and nl_langinfo(YESEXPR). */
+#undef HAVE_LANGINFO_YESEXPR
+
 /* Define to 1 if you have the `lchmod' function. */
 #undef HAVE_LCHMOD
 
 /* Define to 1 if you have the `lchown' function. */
 #undef HAVE_LCHOWN
 
+/* Define to 1 if you have the <libintl.h> header file. */
+#undef HAVE_LIBINTL_H
+
 /* Define to 1 if you have the <linewrap.h> header file. */
 #undef HAVE_LINEWRAP_H
 
 /* Define to 1 if you have the <pwd.h> header file. */
 #undef HAVE_PWD_H
 
+/* Define to 1 if you have the `rawmemchr' function. */
+#undef HAVE_RAWMEMCHR
+
 /* Define to 1 if you have the `readlink' function. */
 #undef HAVE_READLINK
 
 /* Define to 1 if 'wint_t' is a signed integer type. */
 #undef HAVE_SIGNED_WINT_T
 
-/* Define to 1 if you have the `sleep' function. */
-#undef HAVE_SLEEP
-
 /* Define to 1 if you have the `snprintf' function. */
 #undef HAVE_SNPRINTF
 
 /* Define to 1 if you have the `strtoumax' function. */
 #undef HAVE_STRTOUMAX
 
+/* Define to 1 if the system has the type `struct random_data'. */
+#undef HAVE_STRUCT_RANDOM_DATA
+
 /* Define to 1 if `st_atimensec' is member of `struct stat'. */
 #undef HAVE_STRUCT_STAT_ST_ATIMENSEC
 
 /* Define to 1 if you have the <sys/param.h> header file. */
 #undef HAVE_SYS_PARAM_H
 
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#undef HAVE_SYS_SOCKET_H
+
 /* Define to 1 if you have the <sys/stat.h> header file. */
 #undef HAVE_SYS_STAT_H
 
 /* 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. */
+#undef HAVE_UTIMENSAT
+
 /* Define to 1 if you have the `utimes' function. */
 #undef HAVE_UTIMES
 
 /* Define to 1 if you have the `wcwidth' function. */
 #undef HAVE_WCWIDTH
 
+/* Define to 1 if you have the <winsock2.h> header file. */
+#undef HAVE_WINSOCK2_H
+
 /* Define if you have the 'wint_t' type. */
 #undef HAVE_WINT_T
 
 /* Define to 1 if your C compiler doesn't accept -c and -o together. */
 #undef NO_MINUS_C_MINUS_O
 
+/* Define to 1 if open() fails to recognize a trailing slash. */
+#undef OPEN_TRAILING_SLASH_BUG
+
 /* Name of package */
 #undef PACKAGE
 
 /* Define to long or long long if <stdint.h> and <inttypes.h> don't define. */
 #undef intmax_t
 
+/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports
+   the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of
+   earlier versions), but does not display it by setting __GNUC_STDC_INLINE__.
+   __APPLE__ && __MACH__ test for MacOS X.
+   __APPLE_CC__ tests for the Apple compiler and its version.
+   __STDC_VERSION__ tests for the C99 mode.  */
+#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__
+# define __GNUC_STDC_INLINE__ 1
+#endif
+
 /* Define to rpl_localtime if the replacement function should be used. */
 #undef localtime
 
 /* Define to `int' if <sys/types.h> does not define. */
 #undef mode_t
 
+/* Define to the type of st_nlink in struct stat, or a supertype. */
+#undef nlink_t
+
 /* Define to `long int' if <sys/types.h> does not define. */
 #undef off_t
 
 /* Define to `int' if <sys/types.h> doesn't define. */
 #undef uid_t
 
+/* Define as a marker that can be attached to function parameter declarations
+   for parameters that are not used.  This helps to reduce warnings, such as
+   from GCC -Wunused-parameter.  */
+#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
+# define _UNUSED_PARAMETER_ __attribute__ ((__unused__))
+#else
+# define _UNUSED_PARAMETER_
+#endif
+
+
 /* Define to rpl_utime if the replacement function should be used. */
 #undef utime
 
index cb1ddae32d3d40573a0309b1f7a89c9732c301b2..f9c548bb50c32253c08dc3b6d3121e2abfce2cc0 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.61 for GNU tar 1.20.
+# Generated by GNU Autoconf 2.61 for GNU tar 1.21.
 #
 # Report bugs to <bug-tar@gnu.org>.
 #
@@ -574,8 +574,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='GNU tar'
 PACKAGE_TARNAME='tar'
-PACKAGE_VERSION='1.20'
-PACKAGE_STRING='GNU tar 1.20'
+PACKAGE_VERSION='1.21'
+PACKAGE_STRING='GNU tar 1.21'
 PACKAGE_BUGREPORT='bug-tar@gnu.org'
 
 ac_unique_file="src/tar.c"
@@ -703,25 +703,39 @@ STDBOOL_H
 HAVE__BOOL
 GL_COND_LIBTOOL_TRUE
 GL_COND_LIBTOOL_FALSE
-EOVERFLOW
 ALLOCA
 ALLOCA_H
 GETOPT_H
 GNULIB_CHOWN
+GNULIB_CLOSE
 GNULIB_DUP2
 GNULIB_ENVIRON
+GNULIB_EUIDACCESS
 GNULIB_FCHDIR
+GNULIB_FSYNC
 GNULIB_FTRUNCATE
 GNULIB_GETCWD
+GNULIB_GETDOMAINNAME
+GNULIB_GETDTABLESIZE
+GNULIB_GETHOSTNAME
 GNULIB_GETLOGIN_R
 GNULIB_GETPAGESIZE
+GNULIB_GETUSERSHELL
 GNULIB_LCHOWN
 GNULIB_LSEEK
 GNULIB_READLINK
 GNULIB_SLEEP
+GNULIB_UNISTD_H_SIGPIPE
+GNULIB_WRITE
 HAVE_DUP2
+HAVE_EUIDACCESS
+HAVE_FSYNC
 HAVE_FTRUNCATE
+HAVE_GETDOMAINNAME
+HAVE_GETDTABLESIZE
+HAVE_GETHOSTNAME
 HAVE_GETPAGESIZE
+HAVE_GETUSERSHELL
 HAVE_READLINK
 HAVE_SLEEP
 HAVE_DECL_ENVIRON
@@ -729,12 +743,21 @@ HAVE_DECL_GETLOGIN_R
 HAVE_OS_H
 HAVE_SYS_PARAM_H
 REPLACE_CHOWN
+REPLACE_CLOSE
 REPLACE_FCHDIR
 REPLACE_GETCWD
 REPLACE_GETPAGESIZE
 REPLACE_LCHOWN
 REPLACE_LSEEK
+REPLACE_WRITE
+UNISTD_H_HAVE_WINSOCK2_H
 LIB_CLOCK_GETTIME
+GNULIB_DIRFD
+HAVE_DECL_DIRFD
+DIRENT_H
+INCLUDE_NEXT
+PRAGMA_SYSTEM_HEADER
+NEXT_DIRENT_H
 build
 build_cpu
 build_vendor
@@ -743,25 +766,31 @@ host
 host_cpu
 host_vendor
 host_os
-INCLUDE_NEXT
-NEXT_DIRENT_H
-DIRENT_H
+NEXT_ERRNO_H
+ERRNO_H
+EMULTIHOP_HIDDEN
+EMULTIHOP_VALUE
+ENOLINK_HIDDEN
+ENOLINK_VALUE
+EOVERFLOW_HIDDEN
+EOVERFLOW_VALUE
 GNULIB_OPEN
 REPLACE_OPEN
-NEXT_FCNTL_H
-FCNTL_H
-NEXT_FLOAT_H
-FLOAT_H
-FNMATCH_H
+GNULIB_FPRINTF
 GNULIB_FPRINTF_POSIX
+GNULIB_PRINTF
 GNULIB_PRINTF_POSIX
 GNULIB_SNPRINTF
 GNULIB_SPRINTF_POSIX
+GNULIB_VFPRINTF
 GNULIB_VFPRINTF_POSIX
+GNULIB_VPRINTF
 GNULIB_VPRINTF_POSIX
 GNULIB_VSNPRINTF
 GNULIB_VSPRINTF_POSIX
 GNULIB_VASPRINTF
+GNULIB_OBSTACK_PRINTF
+GNULIB_OBSTACK_PRINTF_POSIX
 GNULIB_FOPEN
 GNULIB_FREOPEN
 GNULIB_FSEEK
@@ -769,8 +798,18 @@ GNULIB_FSEEKO
 GNULIB_FTELL
 GNULIB_FTELLO
 GNULIB_FFLUSH
+GNULIB_FCLOSE
+GNULIB_FPUTC
+GNULIB_PUTC
+GNULIB_PUTCHAR
+GNULIB_FPUTS
+GNULIB_PUTS
+GNULIB_FWRITE
 GNULIB_GETDELIM
 GNULIB_GETLINE
+GNULIB_PERROR
+GNULIB_STDIO_H_SIGPIPE
+REPLACE_STDIO_WRITE_FUNCS
 REPLACE_FPRINTF
 REPLACE_VFPRINTF
 REPLACE_PRINTF
@@ -783,6 +822,8 @@ REPLACE_SPRINTF
 REPLACE_VSPRINTF
 HAVE_VASPRINTF
 REPLACE_VASPRINTF
+HAVE_DECL_OBSTACK_PRINTF
+REPLACE_OBSTACK_PRINTF
 REPLACE_FOPEN
 REPLACE_FREOPEN
 HAVE_FSEEKO
@@ -792,9 +833,16 @@ HAVE_FTELLO
 REPLACE_FTELLO
 REPLACE_FTELL
 REPLACE_FFLUSH
+REPLACE_FCLOSE
 HAVE_DECL_GETDELIM
 HAVE_DECL_GETLINE
 REPLACE_GETLINE
+REPLACE_PERROR
+NEXT_FCNTL_H
+FCNTL_H
+NEXT_FLOAT_H
+FLOAT_H
+FNMATCH_H
 LIBINTL
 LTLIBINTL
 NEXT_SYS_TIME_H
@@ -842,24 +890,43 @@ UINT64_MAX_EQ_ULONG_MAX
 INTTYPES_H
 GLIBC21
 LOCALCHARSET_TESTS_ENVIRONMENT
+GNULIB_LCHMOD
+GNULIB_LSTAT
+HAVE_LCHMOD
+REPLACE_LSTAT
+REPLACE_MKDIR
 HAVE_MALLOC_POSIX
 GNULIB_MALLOC_POSIX
 GNULIB_REALLOC_POSIX
 GNULIB_CALLOC_POSIX
+GNULIB_ATOLL
+GNULIB_GETLOADAVG
 GNULIB_GETSUBOPT
 GNULIB_MKDTEMP
 GNULIB_MKSTEMP
 GNULIB_PUTENV
+GNULIB_RANDOM_R
+GNULIB_RPMATCH
 GNULIB_SETENV
 GNULIB_STRTOD
+GNULIB_STRTOLL
+GNULIB_STRTOULL
 GNULIB_UNSETENV
+HAVE_ATOLL
 HAVE_CALLOC_POSIX
 HAVE_GETSUBOPT
 HAVE_MKDTEMP
 HAVE_REALLOC_POSIX
+HAVE_RANDOM_R
+HAVE_RPMATCH
 HAVE_SETENV
 HAVE_STRTOD
+HAVE_STRTOLL
+HAVE_STRTOULL
+HAVE_STRUCT_RANDOM_DATA
+HAVE_SYS_LOADAVG_H
 HAVE_UNSETENV
+HAVE_DECL_GETLOADAVG
 REPLACE_MKSTEMP
 REPLACE_PUTENV
 REPLACE_STRTOD
@@ -867,6 +934,7 @@ VOID_UNSETENV
 GNULIB_MEMMEM
 GNULIB_MEMPCPY
 GNULIB_MEMRCHR
+GNULIB_RAWMEMCHR
 GNULIB_STPCPY
 GNULIB_STPNCPY
 GNULIB_STRCHRNUL
@@ -894,9 +962,11 @@ GNULIB_MBSSEP
 GNULIB_MBSTOK_R
 GNULIB_STRERROR
 GNULIB_STRSIGNAL
+GNULIB_STRVERSCMP
 HAVE_DECL_MEMMEM
 HAVE_MEMPCPY
 HAVE_DECL_MEMRCHR
+HAVE_RAWMEMCHR
 HAVE_STPCPY
 HAVE_STPNCPY
 HAVE_STRCHRNUL
@@ -910,11 +980,13 @@ HAVE_STRCASESTR
 HAVE_DECL_STRTOK_R
 HAVE_DECL_STRERROR
 HAVE_DECL_STRSIGNAL
-REPLACE_STRERROR
-REPLACE_STRSIGNAL
+HAVE_STRVERSCMP
 REPLACE_MEMMEM
-REPLACE_STRCASESTR
+REPLACE_STRDUP
 REPLACE_STRSTR
+REPLACE_STRCASESTR
+REPLACE_STRERROR
+REPLACE_STRSIGNAL
 STDARG_H
 NEXT_STDARG_H
 NEXT_STDIO_H
@@ -924,8 +996,6 @@ HAVE_DECL_STRNCASECMP
 NEXT_STRING_H
 NEXT_STRINGS_H
 HAVE_LSTAT
-HAVE_DECL_MKDIR
-HAVE_IO_H
 NEXT_SYS_STAT_H
 SYS_STAT_H
 NEXT_SYSEXITS_H
@@ -944,13 +1014,14 @@ GNULIB_WCWIDTH
 HAVE_DECL_WCWIDTH
 REPLACE_WCWIDTH
 WCHAR_H
+HAVE_WINT_T
 HAVE_WCHAR_H
 NEXT_WCHAR_H
 HAVE_ISWCNTRL
-HAVE_WINT_T
 NEXT_WCTYPE_H
 HAVE_WCTYPE_H
 WCTYPE_H
+REPLACE_ISWCNTRL
 LIBTAR_LIBDEPS
 LIBTAR_LTLIBDEPS
 LIB_SETSOCKOPT
@@ -1505,7 +1576,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.20 to adapt to many kinds of systems.
+\`configure' configures GNU tar 1.21 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1575,7 +1646,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GNU tar 1.20:";;
+     short | recursive ) echo "Configuration of GNU tar 1.21:";;
    esac
   cat <<\_ACEOF
 
@@ -1700,7 +1771,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GNU tar configure 1.20
+GNU tar configure 1.21
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1714,7 +1785,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.20, which was
+It was created by GNU tar $as_me 1.21, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -2014,9 +2085,10 @@ ac_func_list="$ac_func_list pathconf"
 ac_func_list="$ac_func_list canonicalize_file_name"
 ac_func_list="$ac_func_list getcwd"
 ac_func_list="$ac_func_list readlink"
+ac_header_list="$ac_header_list dirent.h"
 ac_func_list="$ac_func_list dup2"
+ac_header_list="$ac_header_list errno.h"
 ac_func_list="$ac_func_list fchdir"
-ac_header_list="$ac_header_list dirent.h"
 ac_header_list="$ac_header_list float.h"
 ac_func_list="$ac_func_list btowc"
 ac_func_list="$ac_func_list isblank"
@@ -2043,10 +2115,10 @@ ac_func_list="$ac_func_list mbrtowc"
 ac_func_list="$ac_func_list wcrtomb"
 ac_func_list="$ac_func_list wcscoll"
 ac_func_list="$ac_func_list setenv"
-ac_func_list="$ac_func_list sleep"
 ac_header_list="$ac_header_list stdarg.h"
 ac_header_list="$ac_header_list stdio.h"
 ac_header_list="$ac_header_list stdlib.h"
+ac_header_list="$ac_header_list sys/socket.h"
 ac_header_list="$ac_header_list strings.h"
 ac_func_list="$ac_func_list lstat"
 ac_header_list="$ac_header_list sys/stat.h"
@@ -2057,6 +2129,8 @@ ac_header_list="$ac_header_list priv.h"
 ac_header_list="$ac_header_list utime.h"
 ac_func_list="$ac_func_list futimes"
 ac_func_list="$ac_func_list futimesat"
+ac_func_list="$ac_func_list futimens"
+ac_func_list="$ac_func_list utimensat"
 ac_func_list="$ac_func_list vasnprintf"
 ac_func_list="$ac_func_list iswcntrl"
 ac_func_list="$ac_func_list wcwidth"
@@ -2488,7 +2562,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='tar'
- VERSION='1.20'
+ VERSION='1.21'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -8009,6 +8083,12 @@ _ACEOF
 
 
 # gnulib modules
+
+
+
+
+
+
 # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
 # for constant arguments.  Useless!
 { echo "$as_me:$LINENO: checking for working alloca.h" >&5
@@ -9849,20 +9929,35 @@ fi
 
 
   GNULIB_CHOWN=0;
+  GNULIB_CLOSE=0;
   GNULIB_DUP2=0;
   GNULIB_ENVIRON=0;
+  GNULIB_EUIDACCESS=0;
   GNULIB_FCHDIR=0;
+  GNULIB_FSYNC=0;
   GNULIB_FTRUNCATE=0;
   GNULIB_GETCWD=0;
+  GNULIB_GETDOMAINNAME=0;
+  GNULIB_GETDTABLESIZE=0;
+  GNULIB_GETHOSTNAME=0;
   GNULIB_GETLOGIN_R=0;
   GNULIB_GETPAGESIZE=0;
+  GNULIB_GETUSERSHELL=0;
   GNULIB_LCHOWN=0;
   GNULIB_LSEEK=0;
   GNULIB_READLINK=0;
   GNULIB_SLEEP=0;
+  GNULIB_UNISTD_H_SIGPIPE=0;
+  GNULIB_WRITE=0;
     HAVE_DUP2=1;
+  HAVE_EUIDACCESS=1;
+  HAVE_FSYNC=1;
   HAVE_FTRUNCATE=1;
+  HAVE_GETDOMAINNAME=1;
+  HAVE_GETDTABLESIZE=1;
+  HAVE_GETHOSTNAME=1;
   HAVE_GETPAGESIZE=1;
+  HAVE_GETUSERSHELL=1;
   HAVE_READLINK=1;
   HAVE_SLEEP=1;
   HAVE_DECL_ENVIRON=1;
@@ -9870,11 +9965,14 @@ fi
   HAVE_OS_H=0;
   HAVE_SYS_PARAM_H=0;
   REPLACE_CHOWN=0;
+  REPLACE_CLOSE=0;
   REPLACE_FCHDIR=0;
   REPLACE_GETCWD=0;
   REPLACE_GETPAGESIZE=0;
   REPLACE_LCHOWN=0;
   REPLACE_LSEEK=0;
+  REPLACE_WRITE=0;
+  UNISTD_H_HAVE_WINSOCK2_H=0;
 
 
 for ac_header in unistd.h
@@ -10189,6 +10287,87 @@ _ACEOF
 
   fi
 
+
+     GNULIB_DIRFD=0;
+    HAVE_DECL_DIRFD=1;
+  DIRENT_H='';
+
+
+
+  { echo "$as_me:$LINENO: checking whether the preprocessor supports include_next" >&5
+echo $ECHO_N "checking whether the preprocessor supports include_next... $ECHO_C" >&6; }
+if test "${gl_cv_have_include_next+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  rm -rf conftestd1 conftestd2
+     mkdir conftestd1 conftestd2
+                    cat <<EOF > conftestd1/conftest.h
+#define DEFINED_IN_CONFTESTD1
+#include <stdio.h>
+#include_next <conftest.h>
+#ifdef DEFINED_IN_CONFTESTD2
+int foo;
+#else
+#error "include_next doesn't work"
+#endif
+EOF
+     cat <<EOF > conftestd2/conftest.h
+#ifndef DEFINED_IN_CONFTESTD1
+#error "include_next test doesn't work"
+#endif
+#define DEFINED_IN_CONFTESTD2
+EOF
+     save_CPPFLAGS="$CPPFLAGS"
+     CPPFLAGS="$CPPFLAGS -Iconftestd1 -Iconftestd2"
+     cat >conftest.$ac_ext <<_ACEOF
+#include <conftest.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  gl_cv_have_include_next=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       gl_cv_have_include_next=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+     CPPFLAGS="$save_CPPFLAGS"
+     rm -rf conftestd1 conftestd2
+
+fi
+{ echo "$as_me:$LINENO: result: $gl_cv_have_include_next" >&5
+echo "${ECHO_T}$gl_cv_have_include_next" >&6; }
+  PRAGMA_SYSTEM_HEADER=
+  if test $gl_cv_have_include_next = yes; then
+    INCLUDE_NEXT=include_next
+    if test -n "$GCC"; then
+      PRAGMA_SYSTEM_HEADER='#pragma GCC system_header'
+    fi
+  else
+    INCLUDE_NEXT=include
+  fi
+
+
+
+
+
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
   { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
@@ -10315,191 +10494,190 @@ _ACEOF
 
 
 
-{ echo "$as_me:$LINENO: checking whether strerror_r is declared" >&5
-echo $ECHO_N "checking whether strerror_r is declared... $ECHO_C" >&6; }
-if test "${ac_cv_have_decl_strerror_r+set}" = set; then
+
+
+
+
+  { echo "$as_me:$LINENO: checking for complete errno.h" >&5
+echo $ECHO_N "checking for complete errno.h... $ECHO_C" >&6; }
+if test "${gl_cv_header_errno_h_complete+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
+
+    cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-#ifndef strerror_r
-  (void) strerror_r;
+
+#include <errno.h>
+#if !defined ENOMSG
+booboo
+#endif
+#if !defined EIDRM
+booboo
+#endif
+#if !defined ENOLINK
+booboo
+#endif
+#if !defined EPROTO
+booboo
+#endif
+#if !defined EMULTIHOP
+booboo
+#endif
+#if !defined EBADMSG
+booboo
+#endif
+#if !defined EOVERFLOW
+booboo
+#endif
+#if !defined ENOTSUP
+booboo
+#endif
+#if !defined ECANCELED
+booboo
 #endif
 
-  ;
-  return 0;
-}
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_strerror_r=yes
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "booboo" >/dev/null 2>&1; then
+  gl_cv_header_errno_h_complete=no
 else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_have_decl_strerror_r=no
+  gl_cv_header_errno_h_complete=yes
 fi
+rm -f conftest*
+
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_strerror_r" >&5
-echo "${ECHO_T}$ac_cv_have_decl_strerror_r" >&6; }
-if test $ac_cv_have_decl_strerror_r = yes; then
+{ echo "$as_me:$LINENO: result: $gl_cv_header_errno_h_complete" >&5
+echo "${ECHO_T}$gl_cv_header_errno_h_complete" >&6; }
+  if test $gl_cv_header_errno_h_complete = yes; then
+    ERRNO_H=''
+  else
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRERROR_R 1
-_ACEOF
 
 
-else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRERROR_R 0
-_ACEOF
 
 
-fi
 
 
 
-for ac_func in strerror_r
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_errno_h='<'errno.h'>'
+     else
+       { echo "$as_me:$LINENO: checking absolute name of <errno.h>" >&5
+echo $ECHO_N "checking absolute name of <errno.h>... $ECHO_C" >&6; }
+if test "${gl_cv_next_errno_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
+
+         if test $ac_cv_header_errno_h = yes; then
+           cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $ac_func innocuous_$ac_func
+#include <errno.h>
 
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
+_ACEOF
+                                   gl_cv_next_errno_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+              sed -n '\#/errno.h#{
+                s#.*"\(.*/errno.h\)".*#\1#
+                s#^/[^/]#//&#
+                p
+                q
+              }'`'"'
+         else
+           gl_cv_next_errno_h='<'errno.h'>'
+         fi
 
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
+fi
+{ echo "$as_me:$LINENO: result: $gl_cv_next_errno_h" >&5
+echo "${ECHO_T}$gl_cv_next_errno_h" >&6; }
+     fi
+     NEXT_ERRNO_H=$gl_cv_next_errno_h
 
-#undef $ac_func
 
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
+
+    ERRNO_H='errno.h'
+  fi
+
+
+  if test -n "$ERRNO_H"; then
+    { echo "$as_me:$LINENO: checking for EMULTIHOP value" >&5
+echo $ECHO_N "checking for EMULTIHOP value... $ECHO_C" >&6; }
+if test "${gl_cv_header_errno_h_EMULTIHOP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <errno.h>
+#ifdef EMULTIHOP
+yes
 #endif
 
-int
-main ()
-{
-return $ac_func ();
-  ;
-  return 0;
-}
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  eval "$as_ac_var=yes"
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "yes" >/dev/null 2>&1; then
+  gl_cv_header_errno_h_EMULTIHOP=yes
 else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       eval "$as_ac_var=no"
+  gl_cv_header_errno_h_EMULTIHOP=no
 fi
+rm -f conftest*
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_var'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_var'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+      if test $gl_cv_header_errno_h_EMULTIHOP = no; then
+        cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
 _ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-fi
-done
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+#ifdef EMULTIHOP
+yes
+#endif
 
-{ echo "$as_me:$LINENO: checking whether strerror_r returns char *" >&5
-echo $ECHO_N "checking whether strerror_r returns char *... $ECHO_C" >&6; }
-if test "${ac_cv_func_strerror_r_char_p+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "yes" >/dev/null 2>&1; then
+  gl_cv_header_errno_h_EMULTIHOP=hidden
+fi
+rm -f conftest*
 
-    ac_cv_func_strerror_r_char_p=no
-    if test $ac_cv_have_decl_strerror_r = yes; then
-      cat >conftest.$ac_ext <<_ACEOF
+        if test $gl_cv_header_errno_h_EMULTIHOP = hidden; then
+                              if test "$cross_compiling" = yes; then
+  # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-$ac_includes_default
+
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug.  */
+#include <stdio.h>
+#include <stdlib.h>
+
 int
 main ()
 {
-
-         char buf[100];
-         char x = *strerror_r (0, buf, sizeof buf);
-         char *p = strerror_r (0, buf, sizeof buf);
-         return !p || x;
+static int test_array [1 - 2 * !((EMULTIHOP) >= 0)];
+test_array [0] = 0
 
   ;
   return 0;
@@ -10522,117 +10700,1024 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_func_strerror_r_char_p=yes
+  ac_lo=0 ac_mid=0
+  while :; do
+    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug.  */
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+main ()
+{
+static int test_array [1 - 2 * !((EMULTIHOP) <= $ac_mid)];
+test_array [0] = 0
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_hi=$ac_mid; break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_lo=`expr $ac_mid + 1`
+                       if test $ac_lo -le $ac_mid; then
+                         ac_lo= ac_hi=
+                         break
+                       fi
+                       ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  done
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug.  */
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+main ()
+{
+static int test_array [1 - 2 * !((EMULTIHOP) < 0)];
+test_array [0] = 0
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_hi=-1 ac_mid=-1
+  while :; do
+    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug.  */
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+main ()
+{
+static int test_array [1 - 2 * !((EMULTIHOP) >= $ac_mid)];
+test_array [0] = 0
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_lo=$ac_mid; break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_hi=`expr '(' $ac_mid ')' - 1`
+                       if test $ac_mid -le $ac_hi; then
+                         ac_lo= ac_hi=
+                         break
+                       fi
+                       ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  done
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug.  */
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+main ()
+{
+static int test_array [1 - 2 * !((EMULTIHOP) <= $ac_mid)];
+test_array [0] = 0
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_hi=$ac_mid
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) gl_cv_header_errno_h_EMULTIHOP=$ac_lo;;
+'')  ;;
+esac
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug.  */
+#include <stdio.h>
+#include <stdlib.h>
+
+static long int longval () { return EMULTIHOP; }
+static unsigned long int ulongval () { return EMULTIHOP; }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+  FILE *f = fopen ("conftest.val", "w");
+  if (! f)
+    return 1;
+  if ((EMULTIHOP) < 0)
+    {
+      long int i = longval ();
+      if (i != (EMULTIHOP))
+       return 1;
+      fprintf (f, "%ld\n", i);
+    }
+  else
+    {
+      unsigned long int i = ulongval ();
+      if (i != (EMULTIHOP))
+       return 1;
+      fprintf (f, "%lu\n", i);
+    }
+  return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  gl_cv_header_errno_h_EMULTIHOP=`cat conftest.val`
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+        fi
+      fi
+
+fi
+{ echo "$as_me:$LINENO: result: $gl_cv_header_errno_h_EMULTIHOP" >&5
+echo "${ECHO_T}$gl_cv_header_errno_h_EMULTIHOP" >&6; }
+    case $gl_cv_header_errno_h_EMULTIHOP in
+      yes | no)
+        EMULTIHOP_HIDDEN=0; EMULTIHOP_VALUE=
+        ;;
+      *)
+        EMULTIHOP_HIDDEN=1; EMULTIHOP_VALUE="$gl_cv_header_errno_h_EMULTIHOP"
+        ;;
+    esac
+
+
+  fi
+
+
+  if test -n "$ERRNO_H"; then
+    { echo "$as_me:$LINENO: checking for ENOLINK value" >&5
+echo $ECHO_N "checking for ENOLINK value... $ECHO_C" >&6; }
+if test "${gl_cv_header_errno_h_ENOLINK+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <errno.h>
+#ifdef ENOLINK
+yes
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "yes" >/dev/null 2>&1; then
+  gl_cv_header_errno_h_ENOLINK=yes
+else
+  gl_cv_header_errno_h_ENOLINK=no
+fi
+rm -f conftest*
+
+      if test $gl_cv_header_errno_h_ENOLINK = no; then
+        cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+#ifdef ENOLINK
+yes
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "yes" >/dev/null 2>&1; then
+  gl_cv_header_errno_h_ENOLINK=hidden
+fi
+rm -f conftest*
+
+        if test $gl_cv_header_errno_h_ENOLINK = hidden; then
+                              if test "$cross_compiling" = yes; then
+  # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug.  */
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+main ()
+{
+static int test_array [1 - 2 * !((ENOLINK) >= 0)];
+test_array [0] = 0
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_lo=0 ac_mid=0
+  while :; do
+    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug.  */
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+main ()
+{
+static int test_array [1 - 2 * !((ENOLINK) <= $ac_mid)];
+test_array [0] = 0
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_hi=$ac_mid; break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_lo=`expr $ac_mid + 1`
+                       if test $ac_lo -le $ac_mid; then
+                         ac_lo= ac_hi=
+                         break
+                       fi
+                       ac_mid=`expr 2 '*' $ac_mid + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  done
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug.  */
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+main ()
+{
+static int test_array [1 - 2 * !((ENOLINK) < 0)];
+test_array [0] = 0
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_hi=-1 ac_mid=-1
+  while :; do
+    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug.  */
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+main ()
+{
+static int test_array [1 - 2 * !((ENOLINK) >= $ac_mid)];
+test_array [0] = 0
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_lo=$ac_mid; break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_hi=`expr '(' $ac_mid ')' - 1`
+                       if test $ac_mid -le $ac_hi; then
+                         ac_lo= ac_hi=
+                         break
+                       fi
+                       ac_mid=`expr 2 '*' $ac_mid`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  done
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_lo= ac_hi=
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug.  */
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+main ()
+{
+static int test_array [1 - 2 * !((ENOLINK) <= $ac_mid)];
+test_array [0] = 0
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_hi=$ac_mid
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_lo=`expr '(' $ac_mid ')' + 1`
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in
+?*) gl_cv_header_errno_h_ENOLINK=$ac_lo;;
+'')  ;;
+esac
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug.  */
+#include <stdio.h>
+#include <stdlib.h>
+
+static long int longval () { return ENOLINK; }
+static unsigned long int ulongval () { return ENOLINK; }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+  FILE *f = fopen ("conftest.val", "w");
+  if (! f)
+    return 1;
+  if ((ENOLINK) < 0)
+    {
+      long int i = longval ();
+      if (i != (ENOLINK))
+       return 1;
+      fprintf (f, "%ld\n", i);
+    }
+  else
+    {
+      unsigned long int i = ulongval ();
+      if (i != (ENOLINK))
+       return 1;
+      fprintf (f, "%lu\n", i);
+    }
+  return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  gl_cv_header_errno_h_ENOLINK=`cat conftest.val`
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+        fi
+      fi
+
+fi
+{ echo "$as_me:$LINENO: result: $gl_cv_header_errno_h_ENOLINK" >&5
+echo "${ECHO_T}$gl_cv_header_errno_h_ENOLINK" >&6; }
+    case $gl_cv_header_errno_h_ENOLINK in
+      yes | no)
+        ENOLINK_HIDDEN=0; ENOLINK_VALUE=
+        ;;
+      *)
+        ENOLINK_HIDDEN=1; ENOLINK_VALUE="$gl_cv_header_errno_h_ENOLINK"
+        ;;
+    esac
+
+
+  fi
+
+
+  if test -n "$ERRNO_H"; then
+    { echo "$as_me:$LINENO: checking for EOVERFLOW value" >&5
+echo $ECHO_N "checking for EOVERFLOW value... $ECHO_C" >&6; }
+if test "${gl_cv_header_errno_h_EOVERFLOW+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <errno.h>
+#ifdef EOVERFLOW
+yes
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "yes" >/dev/null 2>&1; then
+  gl_cv_header_errno_h_EOVERFLOW=yes
+else
+  gl_cv_header_errno_h_EOVERFLOW=no
+fi
+rm -f conftest*
+
+      if test $gl_cv_header_errno_h_EOVERFLOW = no; then
+        cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+#ifdef EOVERFLOW
+yes
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "yes" >/dev/null 2>&1; then
+  gl_cv_header_errno_h_EOVERFLOW=hidden
+fi
+rm -f conftest*
+
+        if test $gl_cv_header_errno_h_EOVERFLOW = hidden; then
+                              if test "$cross_compiling" = yes; then
+  # Depending upon the size, compute the lo and hi bounds.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug.  */
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+main ()
+{
+static int test_array [1 - 2 * !((EOVERFLOW) >= 0)];
+test_array [0] = 0
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_lo=0 ac_mid=0
+  while :; do
+    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug.  */
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+main ()
+{
+static int test_array [1 - 2 * !((EOVERFLOW) <= $ac_mid)];
+test_array [0] = 0
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_hi=$ac_mid; break
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-
+       ac_lo=`expr $ac_mid + 1`
+                       if test $ac_lo -le $ac_mid; then
+                         ac_lo= ac_hi=
+                         break
+                       fi
+                       ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    else
-      # strerror_r is not declared.  Choose between
-      # systems that have relatively inaccessible declarations for the
-      # function.  BeOS and DEC UNIX 4.0 fall in this category, but the
-      # former has a strerror_r that returns char*, while the latter
-      # has a strerror_r that returns `int'.
-      # This test should segfault on the DEC system.
-      if test "$cross_compiling" = yes; then
-  :
+  done
 else
-  cat >conftest.$ac_ext <<_ACEOF
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-$ac_includes_default
-       extern char *strerror_r ();
+
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug.  */
+#include <stdio.h>
+#include <stdlib.h>
+
 int
 main ()
 {
-char buf[100];
-         char x = *strerror_r (0, buf, sizeof buf);
-         return ! isalpha (x);
+static int test_array [1 - 2 * !((EOVERFLOW) < 0)];
+test_array [0] = 0
+
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_hi=-1 ac_mid=-1
+  while :; do
+    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug.  */
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+main ()
+{
+static int test_array [1 - 2 * !((EOVERFLOW) >= $ac_mid)];
+test_array [0] = 0
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_func_strerror_r_char_p=yes
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_lo=$ac_mid; break
 else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+  echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+       ac_hi=`expr '(' $ac_mid ')' - 1`
+                       if test $ac_mid -le $ac_hi; then
+                         ac_lo= ac_hi=
+                         break
+                       fi
+                       ac_mid=`expr 2 '*' $ac_mid`
 fi
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  done
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
-    fi
-
+       ac_lo= ac_hi=
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_strerror_r_char_p" >&5
-echo "${ECHO_T}$ac_cv_func_strerror_r_char_p" >&6; }
-if test $ac_cv_func_strerror_r_char_p = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STRERROR_R_CHAR_P 1
-_ACEOF
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug.  */
+#include <stdio.h>
+#include <stdlib.h>
 
+int
+main ()
+{
+static int test_array [1 - 2 * !((EOVERFLOW) <= $ac_mid)];
+test_array [0] = 0
 
-
-  { echo "$as_me:$LINENO: checking whether the preprocessor supports include_next" >&5
-echo $ECHO_N "checking whether the preprocessor supports include_next... $ECHO_C" >&6; }
-if test "${gl_cv_have_include_next+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  rm -rf conftestd1 conftestd2
-     mkdir conftestd1 conftestd2
-     cat <<EOF > conftestd1/conftest.h
-#define DEFINED_IN_CONFTESTD1
-#include_next <conftest.h>
-#ifdef DEFINED_IN_CONFTESTD2
-int foo;
-#else
-#error "include_next doesn't work"
-#endif
-EOF
-     cat <<EOF > conftestd2/conftest.h
-#ifndef DEFINED_IN_CONFTESTD1
-#error "include_next test doesn't work"
-#endif
-#define DEFINED_IN_CONFTESTD2
-EOF
-     save_CPPFLAGS="$CPPFLAGS"
-     CPPFLAGS="$CPPFLAGS -Iconftestd1 -Iconftestd2"
-     cat >conftest.$ac_ext <<_ACEOF
-#include <conftest.h>
+  ;
+  return 0;
+}
 _ACEOF
 rm -f conftest.$ac_objext
 if { (ac_try="$ac_compile"
@@ -10651,46 +11736,117 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  gl_cv_have_include_next=yes
+  ac_hi=$ac_mid
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-       gl_cv_have_include_next=no
+       ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-     CPPFLAGS="$save_CPPFLAGS"
-     rm -rf conftestd1 conftestd2
-
-fi
-{ echo "$as_me:$LINENO: result: $gl_cv_have_include_next" >&5
-echo "${ECHO_T}$gl_cv_have_include_next" >&6; }
-  if test $gl_cv_have_include_next = yes; then
-
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_INCLUDE_NEXT 1
+done
+case $ac_lo in
+?*) gl_cv_header_errno_h_EOVERFLOW=$ac_lo;;
+'')  ;;
+esac
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
 _ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug.  */
+#include <stdio.h>
+#include <stdlib.h>
 
-    INCLUDE_NEXT=include_next
-  else
-    INCLUDE_NEXT=include
-  fi
+static long int longval () { return EOVERFLOW; }
+static unsigned long int ulongval () { return EOVERFLOW; }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
 
+  FILE *f = fopen ("conftest.val", "w");
+  if (! f)
+    return 1;
+  if ((EOVERFLOW) < 0)
+    {
+      long int i = longval ();
+      if (i != (EOVERFLOW))
+       return 1;
+      fprintf (f, "%ld\n", i);
+    }
+  else
+    {
+      unsigned long int i = ulongval ();
+      if (i != (EOVERFLOW))
+       return 1;
+      fprintf (f, "%lu\n", i);
+    }
+  return ferror (f) || fclose (f) != 0;
 
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  gl_cv_header_errno_h_EOVERFLOW=`cat conftest.val`
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f conftest.val
+        fi
+      fi
 
+fi
+{ echo "$as_me:$LINENO: result: $gl_cv_header_errno_h_EOVERFLOW" >&5
+echo "${ECHO_T}$gl_cv_header_errno_h_EOVERFLOW" >&6; }
+    case $gl_cv_header_errno_h_EOVERFLOW in
+      yes | no)
+        EOVERFLOW_HIDDEN=0; EOVERFLOW_VALUE=
+        ;;
+      *)
+        EOVERFLOW_HIDDEN=1; EOVERFLOW_VALUE="$gl_cv_header_errno_h_EOVERFLOW"
+        ;;
+    esac
 
-  GNULIB_OPEN=0;
-    REPLACE_OPEN=0;
 
+  fi
 
 
-{ echo "$as_me:$LINENO: checking for mbstate_t" >&5
-echo $ECHO_N "checking for mbstate_t... $ECHO_C" >&6; }
-if test "${ac_cv_type_mbstate_t+set}" = set; then
+{ echo "$as_me:$LINENO: checking whether strerror_r is declared" >&5
+echo $ECHO_N "checking whether strerror_r is declared... $ECHO_C" >&6; }
+if test "${ac_cv_have_decl_strerror_r+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -10700,11 +11856,13 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-#          include <wchar.h>
 int
 main ()
 {
-mbstate_t x; return sizeof x;
+#ifndef strerror_r
+  (void) strerror_r;
+#endif
+
   ;
   return 0;
 }
@@ -10726,63 +11884,276 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_type_mbstate_t=yes
+  ac_cv_have_decl_strerror_r=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-       ac_cv_type_mbstate_t=no
+       ac_cv_have_decl_strerror_r=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_type_mbstate_t" >&5
-echo "${ECHO_T}$ac_cv_type_mbstate_t" >&6; }
-   if test $ac_cv_type_mbstate_t = yes; then
+{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_strerror_r" >&5
+echo "${ECHO_T}$ac_cv_have_decl_strerror_r" >&6; }
+if test $ac_cv_have_decl_strerror_r = yes; then
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_MBSTATE_T 1
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STRERROR_R 1
 _ACEOF
 
-   else
 
-cat >>confdefs.h <<\_ACEOF
-#define mbstate_t int
+else
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STRERROR_R 0
 _ACEOF
 
-   fi
 
+fi
+
+
+
+for ac_func in strerror_r
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
+       eval "$as_ac_var=no"
+fi
 
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
 
+fi
+done
 
+{ echo "$as_me:$LINENO: checking whether strerror_r returns char *" >&5
+echo $ECHO_N "checking whether strerror_r returns char *... $ECHO_C" >&6; }
+if test "${ac_cv_func_strerror_r_char_p+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
 
+    ac_cv_func_strerror_r_char_p=no
+    if test $ac_cv_have_decl_strerror_r = yes; then
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
 
+         char buf[100];
+         char x = *strerror_r (0, buf, sizeof buf);
+         char *p = strerror_r (0, buf, sizeof buf);
+         return !p || x;
 
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_func_strerror_r_char_p=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
 
+fi
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    else
+      # strerror_r is not declared.  Choose between
+      # systems that have relatively inaccessible declarations for the
+      # function.  BeOS and DEC UNIX 4.0 fall in this category, but the
+      # former has a strerror_r that returns char*, while the latter
+      # has a strerror_r that returns `int'.
+      # This test should segfault on the DEC system.
+      if test "$cross_compiling" = yes; then
+  :
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+       extern char *strerror_r ();
+int
+main ()
+{
+char buf[100];
+         char x = *strerror_r (0, buf, sizeof buf);
+         return ! isalpha (x);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_strerror_r_char_p=yes
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
 
 
+    fi
 
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_func_strerror_r_char_p" >&5
+echo "${ECHO_T}$ac_cv_func_strerror_r_char_p" >&6; }
+if test $ac_cv_func_strerror_r_char_p = yes; then
 
+cat >>confdefs.h <<\_ACEOF
+#define STRERROR_R_CHAR_P 1
+_ACEOF
 
+fi
 
 
 
 
+  GNULIB_OPEN=0;
+    REPLACE_OPEN=0;
 
 
+  GNULIB_FPRINTF=0;
   GNULIB_FPRINTF_POSIX=0;
+  GNULIB_PRINTF=0;
   GNULIB_PRINTF_POSIX=0;
   GNULIB_SNPRINTF=0;
   GNULIB_SPRINTF_POSIX=0;
+  GNULIB_VFPRINTF=0;
   GNULIB_VFPRINTF_POSIX=0;
+  GNULIB_VPRINTF=0;
   GNULIB_VPRINTF_POSIX=0;
   GNULIB_VSNPRINTF=0;
   GNULIB_VSPRINTF_POSIX=0;
   GNULIB_VASPRINTF=0;
+  GNULIB_OBSTACK_PRINTF=0;
+  GNULIB_OBSTACK_PRINTF_POSIX=0;
   GNULIB_FOPEN=0;
   GNULIB_FREOPEN=0;
   GNULIB_FSEEK=0;
@@ -10790,9 +12161,19 @@ _ACEOF
   GNULIB_FTELL=0;
   GNULIB_FTELLO=0;
   GNULIB_FFLUSH=0;
+  GNULIB_FCLOSE=0;
+  GNULIB_FPUTC=0;
+  GNULIB_PUTC=0;
+  GNULIB_PUTCHAR=0;
+  GNULIB_FPUTS=0;
+  GNULIB_PUTS=0;
+  GNULIB_FWRITE=0;
   GNULIB_GETDELIM=0;
   GNULIB_GETLINE=0;
-    REPLACE_FPRINTF=0;
+  GNULIB_PERROR=0;
+  GNULIB_STDIO_H_SIGPIPE=0;
+    REPLACE_STDIO_WRITE_FUNCS=0;
+  REPLACE_FPRINTF=0;
   REPLACE_VFPRINTF=0;
   REPLACE_PRINTF=0;
   REPLACE_VPRINTF=0;
@@ -10804,6 +12185,8 @@ _ACEOF
   REPLACE_VSPRINTF=0;
   HAVE_VASPRINTF=1;
   REPLACE_VASPRINTF=0;
+  HAVE_DECL_OBSTACK_PRINTF=1;
+  REPLACE_OBSTACK_PRINTF=0;
   REPLACE_FOPEN=0;
   REPLACE_FREOPEN=0;
   HAVE_FSEEKO=1;
@@ -10813,9 +12196,98 @@ _ACEOF
   REPLACE_FTELLO=0;
   REPLACE_FTELL=0;
   REPLACE_FFLUSH=0;
+  REPLACE_FCLOSE=0;
   HAVE_DECL_GETDELIM=1;
   HAVE_DECL_GETLINE=1;
   REPLACE_GETLINE=0;
+  REPLACE_PERROR=0;
+
+
+
+{ echo "$as_me:$LINENO: checking for mbstate_t" >&5
+echo $ECHO_N "checking for mbstate_t... $ECHO_C" >&6; }
+if test "${ac_cv_type_mbstate_t+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#          include <wchar.h>
+int
+main ()
+{
+mbstate_t x; return sizeof x;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_type_mbstate_t=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_type_mbstate_t=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_mbstate_t" >&5
+echo "${ECHO_T}$ac_cv_type_mbstate_t" >&6; }
+   if test $ac_cv_type_mbstate_t = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_MBSTATE_T 1
+_ACEOF
+
+   else
+
+cat >>confdefs.h <<\_ACEOF
+#define mbstate_t int
+_ACEOF
+
+   fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
 
     { echo "$as_me:$LINENO: checking whether stdin defaults to large file offsets" >&5
@@ -11037,7 +12509,7 @@ _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-struct s { int i, j; }; struct s s = (struct s) { 1, 2 };
+struct s { int i, j; };
 int
 main ()
 {
@@ -13848,6 +15320,13 @@ echo "${ECHO_T}$ac_cv_gnu_library_2_1" >&6; }
 
 
 
+  GNULIB_LCHMOD=0;
+  GNULIB_LSTAT=0;
+    HAVE_LCHMOD=1;
+  REPLACE_LSTAT=0;
+  REPLACE_MKDIR=0;
+
+
   { echo "$as_me:$LINENO: checking whether malloc, realloc, calloc are POSIX compliant" >&5
 echo $ECHO_N "checking whether malloc, realloc, calloc are POSIX compliant... $ECHO_C" >&6; }
 if test "${gl_cv_func_malloc_posix+set}" = set; then
@@ -13907,21 +15386,35 @@ echo "${ECHO_T}$gl_cv_func_malloc_posix" >&6; }
   GNULIB_MALLOC_POSIX=0;
   GNULIB_REALLOC_POSIX=0;
   GNULIB_CALLOC_POSIX=0;
+  GNULIB_ATOLL=0;
+  GNULIB_GETLOADAVG=0;
   GNULIB_GETSUBOPT=0;
   GNULIB_MKDTEMP=0;
   GNULIB_MKSTEMP=0;
   GNULIB_PUTENV=0;
+  GNULIB_RANDOM_R=0;
+  GNULIB_RPMATCH=0;
   GNULIB_SETENV=0;
   GNULIB_STRTOD=0;
+  GNULIB_STRTOLL=0;
+  GNULIB_STRTOULL=0;
   GNULIB_UNSETENV=0;
-    HAVE_CALLOC_POSIX=1;
+    HAVE_ATOLL=1;
+  HAVE_CALLOC_POSIX=1;
   HAVE_GETSUBOPT=1;
   HAVE_MALLOC_POSIX=1;
   HAVE_MKDTEMP=1;
   HAVE_REALLOC_POSIX=1;
+  HAVE_RANDOM_R=1;
+  HAVE_RPMATCH=1;
   HAVE_SETENV=1;
   HAVE_STRTOD=1;
+  HAVE_STRTOLL=1;
+  HAVE_STRTOULL=1;
+  HAVE_STRUCT_RANDOM_DATA=1;
+  HAVE_SYS_LOADAVG_H=0;
   HAVE_UNSETENV=1;
+  HAVE_DECL_GETLOADAVG=1;
   REPLACE_MKSTEMP=0;
   REPLACE_PUTENV=0;
   REPLACE_STRTOD=0;
@@ -14218,6 +15711,7 @@ _ACEOF
   GNULIB_MEMMEM=0;
   GNULIB_MEMPCPY=0;
   GNULIB_MEMRCHR=0;
+  GNULIB_RAWMEMCHR=0;
   GNULIB_STPCPY=0;
   GNULIB_STPNCPY=0;
   GNULIB_STRCHRNUL=0;
@@ -14245,9 +15739,11 @@ _ACEOF
   GNULIB_MBSTOK_R=0;
   GNULIB_STRERROR=0;
   GNULIB_STRSIGNAL=0;
+  GNULIB_STRVERSCMP=0;
     HAVE_DECL_MEMMEM=1;
   HAVE_MEMPCPY=1;
   HAVE_DECL_MEMRCHR=1;
+  HAVE_RAWMEMCHR=1;
   HAVE_STPCPY=1;
   HAVE_STPNCPY=1;
   HAVE_STRCHRNUL=1;
@@ -14261,11 +15757,13 @@ _ACEOF
   HAVE_DECL_STRTOK_R=1;
   HAVE_DECL_STRERROR=1;
   HAVE_DECL_STRSIGNAL=1;
-  REPLACE_STRERROR=0;
-  REPLACE_STRSIGNAL=0;
+  HAVE_STRVERSCMP=1;
   REPLACE_MEMMEM=0;
-  REPLACE_STRCASESTR=0;
+  REPLACE_STRDUP=0;
   REPLACE_STRSTR=0;
+  REPLACE_STRCASESTR=0;
+  REPLACE_STRERROR=0;
+  REPLACE_STRSIGNAL=0;
 
 { echo "$as_me:$LINENO: checking whether memrchr is declared" >&5
 echo $ECHO_N "checking whether memrchr is declared... $ECHO_C" >&6; }
@@ -14351,8 +15849,6 @@ fi
 
 
 
-
-
 { echo "$as_me:$LINENO: checking whether snprintf is declared" >&5
 echo $ECHO_N "checking whether snprintf is declared... $ECHO_C" >&6; }
 if test "${ac_cv_have_decl_snprintf+set}" = set; then
 
 
 
-  { echo "$as_me:$LINENO: checking for working strerror function" >&5
+
+
+
+  if test -z "$ERRNO_H"; then
+    { echo "$as_me:$LINENO: checking for working strerror function" >&5
 echo $ECHO_N "checking for working strerror function... $ECHO_C" >&6; }
 if test "${gl_cv_func_working_strerror+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   if test "$cross_compiling" = yes; then
-         cat >conftest.$ac_ext <<_ACEOF
+           cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -14549,6 +16049,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -14599,11 +16100,17 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$a
 fi
 
 
+
 fi
 { echo "$as_me:$LINENO: result: $gl_cv_func_working_strerror" >&5
 echo "${ECHO_T}$gl_cv_func_working_strerror" >&6; }
-  if test $gl_cv_func_working_strerror = no ; then
-    REPLACE_STRERROR=1
+    if test $gl_cv_func_working_strerror = no; then
+                  REPLACE_STRERROR=1
+    fi
+  else
+            REPLACE_STRERROR=1
+  fi
+  if test $REPLACE_STRERROR = 1; then
 
   { echo "$as_me:$LINENO: checking whether strerror is declared" >&5
 echo $ECHO_N "checking whether strerror is declared... $ECHO_C" >&6; }
 
 
 
+
+
+
+
+
+  if test $ac_cv_header_sys_socket_h != yes; then
+
+for ac_header in winsock2.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## ------------------------------ ##
+## Report this to bug-tar@gnu.org ##
+## ------------------------------ ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+  fi
+
   fi
 
 
@@ -15388,6 +17048,10 @@ _ACEOF
 
 
 
+
+
+
+
   { echo "$as_me:$LINENO: checking for wchar_t" >&5
 echo $ECHO_N "checking for wchar_t... $ECHO_C" >&6; }
 if test "${gt_cv_c_wchar_t+set}" = set; then
@@ -15782,8 +17446,7 @@ fi
   GNULIB_WCWIDTH=0;
     HAVE_DECL_WCWIDTH=1;
   REPLACE_WCWIDTH=0;
-  WCHAR_H=
-
+  WCHAR_H='';
 
 
 
@@ -16577,516 +18240,109 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  fits_in_uint=`cat conftest.val`
-else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-fits_in_uint=
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.val
-      if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then
-        if test $fits_in_uint = 1; then
-                              cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stddef.h>
-            extern size_t foo;
-            extern unsigned long foo;
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  fits_in_uint=0
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-        fi
-                                if test $fits_in_uint = 1; then
-          gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)"
-        else
-          gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)"
-        fi
-      else
-                gl_cv_size_max='((size_t)~(size_t)0)'
-      fi
-    fi
-
-fi
-
-  { echo "$as_me:$LINENO: result: $gl_cv_size_max" >&5
-echo "${ECHO_T}$gl_cv_size_max" >&6; }
-  if test "$gl_cv_size_max" != yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define SIZE_MAX $gl_cv_size_max
-_ACEOF
-
-  fi
-
-
-   if false; then
-  GL_COND_LIBTOOL_TRUE=
-  GL_COND_LIBTOOL_FALSE='#'
-else
-  GL_COND_LIBTOOL_TRUE='#'
-  GL_COND_LIBTOOL_FALSE=
-fi
-
-  gl_cond_libtool=false
-  gl_libdeps=
-  gl_ltlibdeps=
-
-
-
-  gl_source_base='.#bootmp/lib'
-
-
-  { echo "$as_me:$LINENO: checking for EOVERFLOW" >&5
-echo $ECHO_N "checking for EOVERFLOW... $ECHO_C" >&6; }
-if test "${ac_cv_decl_EOVERFLOW+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <errno.h>
-#ifdef EOVERFLOW
-yes
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "yes" >/dev/null 2>&1; then
-  have_eoverflow=1
-fi
-rm -f conftest*
-
-    if test -n "$have_eoverflow"; then
-            ac_cv_decl_EOVERFLOW=yes
-    else
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#define _XOPEN_SOURCE_EXTENDED 1
-#include <errno.h>
-#ifdef EOVERFLOW
-yes
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "yes" >/dev/null 2>&1; then
-  have_eoverflow=1
-fi
-rm -f conftest*
-
-      if test -n "$have_eoverflow"; then
-                        if test "$cross_compiling" = yes; then
-  # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#define _XOPEN_SOURCE_EXTENDED 1
-#include <errno.h>
-/* The following two lines are a workaround against an autoconf-2.52 bug.  */
-#include <stdio.h>
-#include <stdlib.h>
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((EOVERFLOW) >= 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=0 ac_mid=0
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#define _XOPEN_SOURCE_EXTENDED 1
-#include <errno.h>
-/* The following two lines are a workaround against an autoconf-2.52 bug.  */
-#include <stdio.h>
-#include <stdlib.h>
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((EOVERFLOW) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid; break
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_lo=`expr $ac_mid + 1`
-                       if test $ac_lo -le $ac_mid; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#define _XOPEN_SOURCE_EXTENDED 1
-#include <errno.h>
-/* The following two lines are a workaround against an autoconf-2.52 bug.  */
-#include <stdio.h>
-#include <stdlib.h>
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((EOVERFLOW) < 0)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=-1 ac_mid=-1
-  while :; do
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#define _XOPEN_SOURCE_EXTENDED 1
-#include <errno.h>
-/* The following two lines are a workaround against an autoconf-2.52 bug.  */
-#include <stdio.h>
-#include <stdlib.h>
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((EOVERFLOW) >= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_lo=$ac_mid; break
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_hi=`expr '(' $ac_mid ')' - 1`
-                       if test $ac_mid -le $ac_hi; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       ac_mid=`expr 2 '*' $ac_mid`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  done
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_lo= ac_hi=
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
-  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#define _XOPEN_SOURCE_EXTENDED 1
-#include <errno.h>
-/* The following two lines are a workaround against an autoconf-2.52 bug.  */
-#include <stdio.h>
-#include <stdlib.h>
-
-int
-main ()
-{
-static int test_array [1 - 2 * !((EOVERFLOW) <= $ac_mid)];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_hi=$ac_mid
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_decl_EOVERFLOW=$ac_lo;;
-'')  ;;
-esac
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#define _XOPEN_SOURCE_EXTENDED 1
-#include <errno.h>
-/* The following two lines are a workaround against an autoconf-2.52 bug.  */
-#include <stdio.h>
-#include <stdlib.h>
-
-static long int longval () { return EOVERFLOW; }
-static unsigned long int ulongval () { return EOVERFLOW; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
-  FILE *f = fopen ("conftest.val", "w");
-  if (! f)
-    return 1;
-  if ((EOVERFLOW) < 0)
-    {
-      long int i = longval ();
-      if (i != (EOVERFLOW))
-       return 1;
-      fprintf (f, "%ld\n", i);
-    }
-  else
-    {
-      unsigned long int i = ulongval ();
-      if (i != (EOVERFLOW))
-       return 1;
-      fprintf (f, "%lu\n", i);
-    }
-  return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_decl_EOVERFLOW=`cat conftest.val`
+  fits_in_uint=`cat conftest.val`
 else
   echo "$as_me: program exited with status $ac_status" >&5
 echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+( exit $ac_status )
+fits_in_uint=
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f conftest.val
+      if test -n "$size_t_bits_minus_1" && test -n "$fits_in_uint"; then
+        if test $fits_in_uint = 1; then
+                              cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stddef.h>
+            extern size_t foo;
+            extern unsigned long foo;
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  fits_in_uint=0
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+        fi
+                                if test $fits_in_uint = 1; then
+          gl_cv_size_max="(((1U << $size_t_bits_minus_1) - 1) * 2 + 1)"
+        else
+          gl_cv_size_max="(((1UL << $size_t_bits_minus_1) - 1) * 2 + 1)"
+        fi
       else
-                                ac_cv_decl_EOVERFLOW=E2BIG
+                gl_cv_size_max='((size_t)~(size_t)0)'
       fi
     fi
 
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_decl_EOVERFLOW" >&5
-echo "${ECHO_T}$ac_cv_decl_EOVERFLOW" >&6; }
-  if test "$ac_cv_decl_EOVERFLOW" != yes; then
+
+  { echo "$as_me:$LINENO: result: $gl_cv_size_max" >&5
+echo "${ECHO_T}$gl_cv_size_max" >&6; }
+  if test "$gl_cv_size_max" != yes; then
 
 cat >>confdefs.h <<_ACEOF
-#define EOVERFLOW $ac_cv_decl_EOVERFLOW
+#define SIZE_MAX $gl_cv_size_max
 _ACEOF
 
-    EOVERFLOW="$ac_cv_decl_EOVERFLOW"
-
   fi
 
 
+   if false; then
+  GL_COND_LIBTOOL_TRUE=
+  GL_COND_LIBTOOL_FALSE='#'
+else
+  GL_COND_LIBTOOL_TRUE='#'
+  GL_COND_LIBTOOL_FALSE=
+fi
+
+  gl_cond_libtool=false
+  gl_libdeps=
+  gl_ltlibdeps=
+
+
+
+
+
+
+
+
+  gl_source_base='.#bootmp/lib'
+
 
 
 
@@ -17150,6 +18406,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS argmatch.$ac_objext"
 
 
@@ -17165,6 +18422,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext"
 
 
@@ -17174,6 +18432,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext"
 
 
@@ -17523,6 +18782,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS backupfile.$ac_objext"
 
 
@@ -17555,6 +18815,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS canonicalize-lgpl.$ac_objext"
 
 
@@ -17583,6 +18844,13 @@ _ACEOF
   fi
 
 
+
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_CANONICALIZE_LGPL 1
+_ACEOF
+
+
+
   { echo "$as_me:$LINENO: checking whether this system has an arbitrary file name length limit" >&5
 echo $ECHO_N "checking whether this system has an arbitrary file name length limit... $ECHO_C" >&6; }
 if test "${gl_cv_have_arbitrary_file_name_length_limit+set}" = set; then
@@ -17620,6 +18888,7 @@ echo "${ECHO_T}$gl_cv_have_arbitrary_file_name_length_limit" >&6; }
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS chdir-long.$ac_objext"
 
 
@@ -17653,6 +18922,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS chown.$ac_objext"
 
 
@@ -17747,6 +19017,7 @@ else
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS fchown-stub.$ac_objext"
 
 fi
@@ -17955,6 +19226,14 @@ done
 
 
 
+  GNULIB_CLOSE=1
+
+
+
+
+
+
+
 
 
 
@@ -17978,6 +19257,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS closeout.$ac_objext"
 
 
@@ -18066,6 +19346,67 @@ _ACEOF
 
 
 
+
+
+
+
+
+
+
+
+
+     if test $gl_cv_have_include_next = yes; then
+       gl_cv_next_dirent_h='<'dirent.h'>'
+     else
+       { echo "$as_me:$LINENO: checking absolute name of <dirent.h>" >&5
+echo $ECHO_N "checking absolute name of <dirent.h>... $ECHO_C" >&6; }
+if test "${gl_cv_next_dirent_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+         if test $ac_cv_header_dirent_h = yes; then
+           cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <dirent.h>
+
+_ACEOF
+                                   gl_cv_next_dirent_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+              sed -n '\#/dirent.h#{
+                s#.*"\(.*/dirent.h\)".*#\1#
+                s#^/[^/]#//&#
+                p
+                q
+              }'`'"'
+         else
+           gl_cv_next_dirent_h='<'dirent.h'>'
+         fi
+
+fi
+{ echo "$as_me:$LINENO: result: $gl_cv_next_dirent_h" >&5
+echo "${ECHO_T}$gl_cv_next_dirent_h" >&6; }
+     fi
+     NEXT_DIRENT_H=$gl_cv_next_dirent_h
+
+
+
+
+
+
+
+
+  DIRENT_H='dirent.h'
+
+
+
+
+
+
+
+
 for ac_func in dirfd
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -18229,6 +19570,9 @@ _ACEOF
 fi
 
 
+  if test $ac_cv_have_decl_dirfd = no; then
+    HAVE_DECL_DIRFD=0
+  fi
 
   { echo "$as_me:$LINENO: checking whether dirfd is a macro" >&5
 echo $ECHO_N "checking whether dirfd is a macro... $ECHO_C" >&6; }
@@ -18272,6 +19616,7 @@ echo "${ECHO_T}$gl_cv_func_dirfd_macro" >&6; }
 
 
 
+
 for ac_func in dirfd
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -18447,6 +19792,11 @@ _ACEOF
 
 
 
+  GNULIB_DIRFD=1
+
+
+
+
 
 
 
@@ -18462,6 +19812,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS dirname.$ac_objext"
 
 
@@ -18471,6 +19822,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS stripslash.$ac_objext"
 
 
@@ -18536,6 +19888,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS dup2.$ac_objext"
 
   fi
@@ -18629,6 +19982,11 @@ _ACEOF
 
 
 
+
+
+
+
+
 { echo "$as_me:$LINENO: checking for error_at_line" >&5
 echo $ECHO_N "checking for error_at_line... $ECHO_C" >&6; }
 if test "${ac_cv_lib_error_at_line+set}" = set; then
@@ -18688,6 +20046,7 @@ if test $ac_cv_lib_error_at_line = no; then
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS error.$ac_objext"
 
 fi
@@ -18713,6 +20072,7 @@ fi
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS exclude.$ac_objext"
 
 
@@ -18724,6 +20084,7 @@ fi
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS exitfail.$ac_objext"
 
 
@@ -18737,6 +20098,7 @@ fi
 
 
 
+
   if test $ac_cv_func_fchdir = no; then
     REPLACE_FCHDIR=1
 
@@ -18746,6 +20108,7 @@ fi
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS fchdir.$ac_objext"
 
     :
@@ -18756,6 +20119,7 @@ _ACEOF
 
 
 
+  if test $REPLACE_OPEN != 1; then
 
 
 
@@ -18764,49 +20128,52 @@ _ACEOF
 
 
 
-     if test $gl_cv_have_include_next = yes; then
-       gl_cv_next_dirent_h='<'dirent.h'>'
-     else
-       { echo "$as_me:$LINENO: checking absolute name of <dirent.h>" >&5
-echo $ECHO_N "checking absolute name of <dirent.h>... $ECHO_C" >&6; }
-if test "${gl_cv_next_dirent_h+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+  gl_LIBOBJS="$gl_LIBOBJS open.$ac_objext"
 
-         if test $ac_cv_header_dirent_h = yes; then
-           cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <dirent.h>
 
-_ACEOF
-                                   gl_cv_next_dirent_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-              sed -n '\#/dirent.h#{
-                s#.*"\(.*/dirent.h\)".*#\1#
-                s#^/[^/]#//&#
-                p
-                q
-              }'`'"'
-         else
-           gl_cv_next_dirent_h='<'dirent.h'>'
-         fi
 
-fi
-{ echo "$as_me:$LINENO: result: $gl_cv_next_dirent_h" >&5
-echo "${ECHO_T}$gl_cv_next_dirent_h" >&6; }
-     fi
-     NEXT_DIRENT_H=$gl_cv_next_dirent_h
+  :
+
+  fi
+  REPLACE_OPEN=1
 
 
 
-    DIRENT_H='dirent.h'
-  else
-    DIRENT_H=
+  if test $REPLACE_CLOSE != 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS close.$ac_objext"
+
   fi
+  REPLACE_CLOSE=1
+
 
+  if test $REPLACE_FCLOSE != 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS fclose.$ac_objext"
+
+  fi
+  REPLACE_FCLOSE=1
+
+
+
+
+  DIRENT_H='dirent.h'
+
+  fi
 
 
 
@@ -18814,6 +20181,12 @@ echo "${ECHO_T}$gl_cv_next_dirent_h" >&6; }
 
 
 
+
+
+  GNULIB_FCLOSE=1
+
+
+
   { echo "$as_me:$LINENO: checking for working fcntl.h" >&5
 echo $ECHO_N "checking for working fcntl.h... $ECHO_C" >&6; }
 if test "${gl_cv_header_working_fcntl_h+set}" = set; then
@@ -18995,6 +20368,7 @@ echo "${ECHO_T}$gl_cv_next_fcntl_h" >&6; }
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS open-safer.$ac_objext"
 
 
@@ -19004,6 +20378,7 @@ echo "${ECHO_T}$gl_cv_next_fcntl_h" >&6; }
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS creat-safer.$ac_objext"
 
 
@@ -19127,6 +20502,7 @@ else
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS fileblocks.$ac_objext"
 
 fi
@@ -19412,6 +20788,7 @@ fi
 
 
 
+
 
 
   gl_LIBOBJS="$gl_LIBOBJS fnmatch.$ac_objext"
@@ -19548,6 +20925,9 @@ else
            '# old glibc iostream?'                                       \
            'fp->_pptr - fp->_pbase'                                      \
                                                                          \
+           '# emx+gcc'                                                   \
+           'fp->_ptr - fp->_buffer'                                      \
+                                                                         \
            '# VMS'                                                       \
            '(*fp)->_ptr - (*fp)->_base'                                  \
                                                                          \
@@ -19622,6 +21002,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS fpending.$ac_objext"
 
   fi
@@ -19696,6 +21077,7 @@ echo "${ECHO_T}$gl_cv_func_fseeko" >&6; }
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS fseeko.$ac_objext"
 
 
@@ -19710,6 +21092,7 @@ echo "${ECHO_T}$gl_cv_func_fseeko" >&6; }
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS fseeko.$ac_objext"
 
 
@@ -19739,6 +21122,7 @@ echo "${ECHO_T}$gl_cv_func_fseeko" >&6; }
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS ftruncate.$ac_objext"
 
 
@@ -20342,6 +21726,7 @@ fi
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS getcwd.$ac_objext"
 
 
@@ -20625,6 +22010,7 @@ fi
 
 
 
+
 for ac_func in getdelim
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -20825,6 +22211,74 @@ _ACEOF
 fi
 done
 
+  { echo "$as_me:$LINENO: checking whether getc_unlocked is declared" >&5
+echo $ECHO_N "checking whether getc_unlocked is declared... $ECHO_C" >&6; }
+if test "${ac_cv_have_decl_getc_unlocked+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+#ifndef getc_unlocked
+  (void) getc_unlocked;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_have_decl_getc_unlocked=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_have_decl_getc_unlocked=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_getc_unlocked" >&5
+echo "${ECHO_T}$ac_cv_have_decl_getc_unlocked" >&6; }
+if test $ac_cv_have_decl_getc_unlocked = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_GETC_UNLOCKED 1
+_ACEOF
+
+
+else
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_GETC_UNLOCKED 0
+_ACEOF
+
+
+fi
+
+
 
   fi
 
@@ -21041,6 +22495,7 @@ echo "${ECHO_T}$am_cv_func_working_getline" >&6; }
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS getline.$ac_objext"
 
 
@@ -21058,6 +22513,7 @@ echo "${ECHO_T}$am_cv_func_working_getline" >&6; }
 
 
 
+
 for ac_func in getdelim
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -21258,6 +22714,74 @@ _ACEOF
 fi
 done
 
+  { echo "$as_me:$LINENO: checking whether getc_unlocked is declared" >&5
+echo $ECHO_N "checking whether getc_unlocked is declared... $ECHO_C" >&6; }
+if test "${ac_cv_have_decl_getc_unlocked+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+#ifndef getc_unlocked
+  (void) getc_unlocked;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_have_decl_getc_unlocked=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_have_decl_getc_unlocked=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_getc_unlocked" >&5
+echo "${ECHO_T}$ac_cv_have_decl_getc_unlocked" >&6; }
+if test $ac_cv_have_decl_getc_unlocked = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_GETC_UNLOCKED 1
+_ACEOF
+
+
+else
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_GETC_UNLOCKED 0
+_ACEOF
+
+
+fi
+
+
 
   fi
 
@@ -21283,6 +22807,7 @@ done
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS getopt.$ac_objext"
 
 
@@ -21292,6 +22817,7 @@ done
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS getopt1.$ac_objext"
 
 
@@ -21719,6 +23245,7 @@ done
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS getpagesize.$ac_objext"
 
       ;;
@@ -21739,6 +23266,7 @@ done
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS gettime.$ac_objext"
 
 
@@ -21906,6 +23434,7 @@ echo "${ECHO_T}$gl_cv_func_gettimeofday_clobber" >&6; }
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS gettimeofday.$ac_objext"
 
 
@@ -22179,6 +23708,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS gettimeofday.$ac_objext"
 
 
@@ -22433,6 +23963,7 @@ done
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS hash.$ac_objext"
 
 
@@ -22446,6 +23977,7 @@ done
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS human.$ac_objext"
 
 
@@ -22525,6 +24057,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS imaxtostr.$ac_objext"
 
 
@@ -22534,6 +24067,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS offtostr.$ac_objext"
 
 
@@ -22543,6 +24077,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS umaxtostr.$ac_objext"
 
 
@@ -22552,6 +24087,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS uinttostr.$ac_objext"
 
 
@@ -23203,6 +24739,7 @@ echo "${ECHO_T}$gl_cv_test_UINT64_MAX_EQ_ULONG_MAX" >&6; }
 
 
 
+
 for ac_func in lchown
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -23422,6 +24959,7 @@ echo "${ECHO_T}$gl_cv_func_lseek_pipe" >&6; }
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS lseek.$ac_objext"
 
 
@@ -23439,6 +24977,7 @@ _ACEOF
   GNULIB_LSEEK=1
 
 
+
   { echo "$as_me:$LINENO: checking whether lstat dereferences a symlink specified with a trailing slash" >&5
 echo $ECHO_N "checking whether lstat dereferences a symlink specified with a trailing slash... $ECHO_C" >&6; }
 if test "${ac_cv_func_lstat_dereferences_slashed_symlink+set}" = set; then
@@ -23528,11 +25067,21 @@ if test $ac_cv_func_lstat_dereferences_slashed_symlink = no; then
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS lstat.$ac_objext"
 
 fi
 
-    :
+    if test $ac_cv_func_lstat_dereferences_slashed_symlink = no; then
+    REPLACE_LSTAT=1
+  fi
+  # Prerequisites of lib/lstat.c.
+
+  :
+
+
+
+  GNULIB_LSTAT=1
 
 
 for ac_header in stdlib.h
@@ -23761,6 +25310,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext"
 
 
@@ -23794,6 +25344,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS malloc.$ac_objext"
 
     HAVE_MALLOC_POSIX=0
@@ -23835,6 +25386,7 @@ _ACEOF
 
 
 
+
 for ac_func in memchr
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -24097,6 +25649,7 @@ done
 
 
 
+
 for ac_func in mempcpy
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -24226,6 +25779,7 @@ done
 
 
 
+
 for ac_func in memrchr
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -24341,6 +25895,7 @@ done
 
 
 
+
 for ac_func in memset
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -24455,6 +26010,7 @@ done
 
 
 
+
 for ac_func in mkdtemp
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -24819,6 +26375,7 @@ if test $ac_cv_func_working_mktime = no; then
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS mktime.$ac_objext"
 
 fi
@@ -24842,6 +26399,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS modechange.$ac_objext"
 
 
@@ -24855,6 +26413,8 @@ _ACEOF
 
 
 
+
+
 { echo "$as_me:$LINENO: checking for obstacks" >&5
 echo $ECHO_N "checking for obstacks... $ECHO_C" >&6; }
 if test "${ac_cv_func_obstack+set}" = set; then
@@ -24925,12 +26485,152 @@ else
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS obstack.$ac_objext"
 
 fi
 
 
 
+  case "$host_os" in
+    mingw* | pw*)
+
+
+  if test $REPLACE_OPEN != 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS open.$ac_objext"
+
+
+
+  :
+
+  fi
+  REPLACE_OPEN=1
+
+      ;;
+    *)
+                  { echo "$as_me:$LINENO: checking whether open recognizes a trailing slash" >&5
+echo $ECHO_N "checking whether open recognizes a trailing slash... $ECHO_C" >&6; }
+if test "${gl_cv_func_open_slash+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+          if test "$cross_compiling" = yes; then
+
+             case "$host_os" in
+               solaris2.[0-9]*) gl_cv_func_open_slash="guessing no" ;;
+               hpux*)           gl_cv_func_open_slash="guessing no" ;;
+               *)               gl_cv_func_open_slash="guessing yes" ;;
+             esac
+
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <fcntl.h>
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+int main ()
+{
+  return open ("conftest.sl/", O_CREAT, 0600) >= 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  gl_cv_func_open_slash=yes
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+gl_cv_func_open_slash=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+          rm -f conftest.sl
+
+fi
+{ echo "$as_me:$LINENO: result: $gl_cv_func_open_slash" >&5
+echo "${ECHO_T}$gl_cv_func_open_slash" >&6; }
+      case "$gl_cv_func_open_slash" in
+        *no)
+
+cat >>confdefs.h <<\_ACEOF
+#define OPEN_TRAILING_SLASH_BUG 1
+_ACEOF
+
+
+
+  if test $REPLACE_OPEN != 1; then
+
+
+
+
+
+
+
+
+  gl_LIBOBJS="$gl_LIBOBJS open.$ac_objext"
+
+
+
+  :
+
+  fi
+  REPLACE_OPEN=1
+
+          ;;
+      esac
+      ;;
+  esac
+
+
+
+cat >>confdefs.h <<\_ACEOF
+#define GNULIB_OPEN 1
+_ACEOF
+
+
+
+
+  GNULIB_OPEN=1
+
+
+
+
 
 
 
@@ -24970,6 +26670,9 @@ fi
 
 
 
+
+
+
 
 
 
@@ -25072,6 +26775,7 @@ fi
 done
 
 
+
   case $ac_cv_func_openat+$ac_cv_func_lstat_dereferences_slashed_symlink in
   yes+yes) ;;
   yes+*)
@@ -25081,6 +26785,7 @@ done
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS fstatat.$ac_objext"
 ;;
   *)
@@ -25277,6 +26982,7 @@ fi
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS fchownat.$ac_objext"
 
 
@@ -25303,6 +27009,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS quote.$ac_objext"
 
 
@@ -25315,6 +27022,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS quotearg.$ac_objext"
 
 
@@ -25460,6 +27168,126 @@ _ACEOF
 
 
 
+
+
+
+
+
+for ac_func in rawmemchr
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $ac_func ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined __stub_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  eval "$as_ac_var=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       eval "$as_ac_var=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+else
+
+    gl_LIBOBJS="$gl_LIBOBJS $ac_func.$ac_objext"
+
+fi
+done
+
+
+  if test $ac_cv_func_rawmemchr = no; then
+    HAVE_RAWMEMCHR=0
+    :
+  fi
+
+
+
+  GNULIB_RAWMEMCHR=1
+
+
+
+
+
+
+
+
+
   if test $ac_cv_func_readlink = no; then
     HAVE_READLINK=0
 
@@ -25469,6 +27297,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS readlink.$ac_objext"
 
 
@@ -25497,6 +27326,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS realloc.$ac_objext"
 
     HAVE_REALLOC_POSIX=0
@@ -25810,6 +27640,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS regex.$ac_objext"
 
 
@@ -25817,6 +27648,151 @@ _ACEOF
 
 
 
+for ac_header in libintl.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## ------------------------------ ##
+## Report this to bug-tar@gnu.org ##
+## ------------------------------ ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
 
 
 
@@ -25911,6 +27887,7 @@ fi
 
 
 
+
 for ac_func in rmdir
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -26019,6 +27996,10 @@ done
 
 
 
+
+
+
+
 for ac_func in rpmatch
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -26118,9 +28099,75 @@ done
 
 
   if test $ac_cv_func_rpmatch = no; then
-    :
+    HAVE_RPMATCH=0
+
+  { echo "$as_me:$LINENO: checking for nl_langinfo and YESEXPR" >&5
+echo $ECHO_N "checking for nl_langinfo and YESEXPR... $ECHO_C" >&6; }
+if test "${gl_cv_langinfo_yesexpr+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <langinfo.h>
+int
+main ()
+{
+char* cs = nl_langinfo(YESEXPR); return !cs;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  gl_cv_langinfo_yesexpr=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       gl_cv_langinfo_yesexpr=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ echo "$as_me:$LINENO: result: $gl_cv_langinfo_yesexpr" >&5
+echo "${ECHO_T}$gl_cv_langinfo_yesexpr" >&6; }
+  if test $gl_cv_langinfo_yesexpr = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_LANGINFO_YESEXPR 1
+_ACEOF
+
   fi
 
+  fi
+
+
+
+  GNULIB_RPMATCH=1
+
+
 
 
 
@@ -26144,6 +28191,7 @@ done
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS safe-write.$ac_objext"
 
 
@@ -26161,6 +28209,7 @@ done
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS save-cwd.$ac_objext"
 
 
@@ -26178,6 +28227,7 @@ done
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS savedir.$ac_objext"
 
 
@@ -26198,6 +28248,7 @@ done
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS setenv.$ac_objext"
 
 
@@ -26457,13 +28508,76 @@ done
 
 
 
+            { echo "$as_me:$LINENO: checking whether sleep is declared" >&5
+echo $ECHO_N "checking whether sleep is declared... $ECHO_C" >&6; }
+if test "${ac_cv_have_decl_sleep+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <unistd.h>
 
+int
+main ()
+{
+#ifndef sleep
+  (void) sleep;
+#endif
 
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_have_decl_sleep=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
+       ac_cv_have_decl_sleep=no
+fi
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_sleep" >&5
+echo "${ECHO_T}$ac_cv_have_decl_sleep" >&6; }
+if test $ac_cv_have_decl_sleep = yes; then
 
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_SLEEP 1
+_ACEOF
 
-  if test $ac_cv_func_sleep = no; then
+
+else
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_SLEEP 0
+_ACEOF
+
+
+fi
+
+
+  if test $ac_cv_have_decl_sleep != yes; then
     HAVE_SLEEP=0
 
 
@@ -26472,6 +28586,7 @@ done
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS sleep.$ac_objext"
 
     :
@@ -26483,6 +28598,7 @@ done
 
 
 
+  gl_cv_func_snprintf_usable=no
 
 for ac_func in snprintf
 do
@@ -26577,7 +28693,79 @@ _ACEOF
 fi
 done
 
-  if test $ac_cv_func_snprintf = no; then
+  if test $ac_cv_func_snprintf = yes; then
+
+
+  { echo "$as_me:$LINENO: checking whether snprintf respects a size of 1" >&5
+echo $ECHO_N "checking whether snprintf respects a size of 1... $ECHO_C" >&6; }
+if test "${gl_cv_func_snprintf_size1+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+      if test "$cross_compiling" = yes; then
+  gl_cv_func_snprintf_size1="guessing yes"
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <stdio.h>
+int main()
+{
+  static char buf[8] = "DEADBEEF";
+  snprintf (buf, 1, "%d", 12345);
+  return buf[1] != 'E';
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  gl_cv_func_snprintf_size1=yes
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+gl_cv_func_snprintf_size1=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+fi
+{ echo "$as_me:$LINENO: result: $gl_cv_func_snprintf_size1" >&5
+echo "${ECHO_T}$gl_cv_func_snprintf_size1" >&6; }
+
+    case "$gl_cv_func_snprintf_size1" in
+      *yes)
+        gl_cv_func_snprintf_usable=yes
+        ;;
+    esac
+  fi
+  if test $gl_cv_func_snprintf_usable = no; then
+
 
 
 
@@ -28830,6 +31018,17 @@ echo "${ECHO_T}$gl_cv_next_stdio_h" >&6; }
 
 
 
+      GNULIB_FPRINTF=1
+  GNULIB_PRINTF=1
+  GNULIB_VFPRINTF=1
+  GNULIB_VPRINTF=1
+  GNULIB_FPUTC=1
+  GNULIB_PUTC=1
+  GNULIB_PUTCHAR=1
+  GNULIB_FPUTS=1
+  GNULIB_PUTS=1
+  GNULIB_FWRITE=1
+
 
 
 
@@ -28881,6 +31080,72 @@ echo "${ECHO_T}$gl_cv_next_stdlib_h" >&6; }
 
 
 
+  { echo "$as_me:$LINENO: checking for struct random_data" >&5
+echo $ECHO_N "checking for struct random_data... $ECHO_C" >&6; }
+if test "${ac_cv_type_struct_random_data+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+typedef struct random_data ac__type_new_;
+int
+main ()
+{
+if ((ac__type_new_ *) 0)
+  return 0;
+if (sizeof (ac__type_new_))
+  return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_type_struct_random_data=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_type_struct_random_data=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_struct_random_data" >&5
+echo "${ECHO_T}$ac_cv_type_struct_random_data" >&6; }
+if test $ac_cv_type_struct_random_data = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_STRUCT_RANDOM_DATA 1
+_ACEOF
+
+
+else
+  HAVE_STRUCT_RANDOM_DATA=0
+fi
+
+
 
 
 
@@ -29016,6 +31281,7 @@ done
 
 
 
+
 for ac_func in strcasecmp
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -29131,6 +31397,7 @@ done
 
 
 
+
 for ac_func in strncasecmp
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -29319,6 +31586,7 @@ fi
 
 
 
+
 for ac_func in strchrnul
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -29436,6 +31704,7 @@ done
 
 
 
+
 for ac_func in strdup
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -29549,7 +31818,8 @@ done
 
 
 
-  if test $gl_cv_func_working_strerror = no; then
+  if test $REPLACE_STRERROR = 1; then
+
 
 
 
@@ -29710,7 +31980,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <string.h>
-                       #include <stdlib.h>
+                        #include <stdlib.h>
 int
 main ()
 {
@@ -29778,6 +32048,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS strndup.$ac_objext"
 
     :
@@ -29880,6 +32151,7 @@ test $ac_cv_func_strnlen_working = no &&
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS strnlen.$ac_objext"
 
 
@@ -29941,6 +32213,7 @@ echo "${ECHO_T}$gl_cv_func_strtoimax_macro" >&6; }
 
 
 
+
 for ac_func in strtoimax
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -30127,6 +32400,7 @@ fi
 
 
 
+
 for ac_func in strtol
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -30228,6 +32502,7 @@ done
 
 
 
+
   if test "$ac_cv_type_long_long_int" = yes; then
 
 
@@ -30237,6 +32512,7 @@ done
 
 
 
+
 for ac_func in strtoll
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -30336,6 +32612,7 @@ done
 
 
     if test $ac_cv_func_strtoll = no; then
+      HAVE_STRTOLL=0
 
   :
 
@@ -30344,6 +32621,11 @@ done
 
 
 
+  GNULIB_STRTOLL=1
+
+
+
+
 
 
 
@@ -30452,6 +32734,7 @@ done
 
 
 
+
   if test "$ac_cv_type_unsigned_long_long_int" = yes; then
 
 
@@ -30461,6 +32744,7 @@ done
 
 
 
+
 for ac_func in strtoull
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -30560,6 +32844,7 @@ done
 
 
     if test $ac_cv_func_strtoull = no; then
+      HAVE_STRTOULL=0
 
   :
 
@@ -30568,6 +32853,10 @@ done
 
 
 
+  GNULIB_STRTOULL=1
+
+
+
 
 
   { echo "$as_me:$LINENO: checking whether <inttypes.h> defines strtoumax as a macro" >&5
@@ -30607,6 +32896,7 @@ echo "${ECHO_T}$gl_cv_func_strtoumax_macro" >&6; }
 
 
 
+
 for ac_func in strtoumax
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -30747,280 +33037,56 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
         test -z "$ac_c_werror_flag" ||
         test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_strtoull=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_have_decl_strtoull=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtoull" >&5
-echo "${ECHO_T}$ac_cv_have_decl_strtoull" >&6; }
-if test $ac_cv_have_decl_strtoull = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOULL 1
-_ACEOF
-
-
-else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOULL 0
-_ACEOF
-
-
-fi
-
-
-
-
-    fi
-  fi
-
-
-
-  GNULIB_STRTOUMAX=1
-
-
-
-
-
-
-
-
-  if test $ac_cv_func_lstat = yes; then
-    HAVE_LSTAT=1
-  else
-    HAVE_LSTAT=0
-  fi
-
-
-      { echo "$as_me:$LINENO: checking whether mkdir is declared" >&5
-echo $ECHO_N "checking whether mkdir is declared... $ECHO_C" >&6; }
-if test "${ac_cv_have_decl_mkdir+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <sys/stat.h>
-
-int
-main ()
-{
-#ifndef mkdir
-  (void) mkdir;
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_mkdir=yes
+  ac_cv_have_decl_strtoull=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-       ac_cv_have_decl_mkdir=no
+       ac_cv_have_decl_strtoull=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_mkdir" >&5
-echo "${ECHO_T}$ac_cv_have_decl_mkdir" >&6; }
-if test $ac_cv_have_decl_mkdir = yes; then
+{ echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtoull" >&5
+echo "${ECHO_T}$ac_cv_have_decl_strtoull" >&6; }
+if test $ac_cv_have_decl_strtoull = yes; then
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_MKDIR 1
+#define HAVE_DECL_STRTOULL 1
 _ACEOF
 
 
 else
   cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_MKDIR 0
+#define HAVE_DECL_STRTOULL 0
 _ACEOF
 
 
-for ac_header in io.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-       ac_header_compiler=no
-fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
 
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-  ac_header_preproc=no
-fi
+    fi
+  fi
 
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
 
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    ( cat <<\_ASBOX
-## ------------------------------ ##
-## Report this to bug-tar@gnu.org ##
-## ------------------------------ ##
-_ASBOX
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
 
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
+  GNULIB_STRTOUMAX=1
+
+
 
-fi
 
-done
 
-fi
 
 
-  if test $ac_cv_have_decl_mkdir = yes; then
-    HAVE_DECL_MKDIR=1
-  else
-    HAVE_DECL_MKDIR=0
-  fi
 
-  if test "$ac_cv_header_io_h" = yes; then
-    HAVE_IO_H=1
+
+
+  if test $ac_cv_func_lstat = yes; then
+    HAVE_LSTAT=1
   else
-    HAVE_IO_H=0
+    HAVE_LSTAT=0
   fi
 
 
@@ -31037,6 +33103,7 @@ fi
 
 
 
+
      if test $gl_cv_have_include_next = yes; then
        gl_cv_next_sys_stat_h='<'sys/stat.h'>'
      else
@@ -31078,6 +33145,73 @@ echo "${ECHO_T}$gl_cv_next_sys_stat_h" >&6; }
   SYS_STAT_H='sys/stat.h'
 
 
+      { echo "$as_me:$LINENO: checking for nlink_t" >&5
+echo $ECHO_N "checking for nlink_t... $ECHO_C" >&6; }
+if test "${ac_cv_type_nlink_t+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <sys/types.h>
+     #include <sys/stat.h>
+
+typedef nlink_t ac__type_new_;
+int
+main ()
+{
+if ((ac__type_new_ *) 0)
+  return 0;
+if (sizeof (ac__type_new_))
+  return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_type_nlink_t=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_type_nlink_t=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_type_nlink_t" >&5
+echo "${ECHO_T}$ac_cv_type_nlink_t" >&6; }
+if test $ac_cv_type_nlink_t = yes; then
+  :
+else
+
+cat >>confdefs.h <<\_ACEOF
+#define nlink_t int
+_ACEOF
+
+fi
+
+
+
   { echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
 echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; }
 if test -z "$MKDIR_P"; then
@@ -31300,6 +33434,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS tempname.$ac_objext"
 
 
@@ -31381,6 +33516,7 @@ echo "${ECHO_T}$gl_cv_time_r_posix" >&6; }
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS time_r.$ac_objext"
 
 
@@ -31470,6 +33606,7 @@ echo "${ECHO_T}$gl_cv_next_unistd_h" >&6; }
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS dup-safer.$ac_objext"
 
 
@@ -31479,6 +33616,7 @@ echo "${ECHO_T}$gl_cv_next_unistd_h" >&6; }
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS fd-safer.$ac_objext"
 
 
@@ -31488,6 +33626,7 @@ echo "${ECHO_T}$gl_cv_next_unistd_h" >&6; }
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS pipe-safer.$ac_objext"
 
 
@@ -31507,6 +33646,7 @@ echo "${ECHO_T}$gl_cv_next_unistd_h" >&6; }
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS unlinkdir.$ac_objext"
 
 
@@ -31696,6 +33836,7 @@ done
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS unsetenv.$ac_objext"
 
 
@@ -31786,6 +33927,7 @@ echo "${ECHO_T}$gt_cv_func_unsetenv_ret" >&6; }
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS utime.$ac_objext"
 
 
@@ -31890,6 +34032,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS utimens.$ac_objext"
 
 
@@ -31907,6 +34050,10 @@ _ACEOF
 
 
 
+
+
+
+
 
 
 
@@ -31927,6 +34074,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS vasnprintf.$ac_objext"
 
 
@@ -31936,6 +34084,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS printf-args.$ac_objext"
 
 
@@ -31945,6 +34094,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS printf-parse.$ac_objext"
 
 
@@ -31954,6 +34104,7 @@ _ACEOF
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS asnprintf.$ac_objext"
 
   if test $ac_cv_func_vasnprintf = yes; then
@@ -32216,6 +34367,7 @@ fi
 
 
 
+  gl_cv_func_vsnprintf_usable=no
 
 for ac_func in vsnprintf
 do
@@ -32310,7 +34462,79 @@ _ACEOF
 fi
 done
 
-  if test $ac_cv_func_vsnprintf = no; then
+  if test $ac_cv_func_vsnprintf = yes; then
+
+
+  { echo "$as_me:$LINENO: checking whether snprintf respects a size of 1" >&5
+echo $ECHO_N "checking whether snprintf respects a size of 1... $ECHO_C" >&6; }
+if test "${gl_cv_func_snprintf_size1+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+      if test "$cross_compiling" = yes; then
+  gl_cv_func_snprintf_size1="guessing yes"
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <stdio.h>
+int main()
+{
+  static char buf[8] = "DEADBEEF";
+  snprintf (buf, 1, "%d", 12345);
+  return buf[1] != 'E';
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  gl_cv_func_snprintf_size1=yes
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+gl_cv_func_snprintf_size1=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+fi
+{ echo "$as_me:$LINENO: result: $gl_cv_func_snprintf_size1" >&5
+echo "${ECHO_T}$gl_cv_func_snprintf_size1" >&6; }
+
+    case "$gl_cv_func_snprintf_size1" in
+      *yes)
+        gl_cv_func_vsnprintf_usable=yes
+        ;;
+    esac
+  fi
+  if test $gl_cv_func_vsnprintf_usable = no; then
+
 
 
 
@@ -32380,7 +34604,16 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 { echo "$as_me:$LINENO: result: $gl_cv_header_wchar_h_standalone" >&5
 echo "${ECHO_T}$gl_cv_header_wchar_h_standalone" >&6; }
-  if test $gl_cv_header_wchar_h_standalone != yes; then
+
+
+  if test $gt_cv_c_wint_t = yes; then
+    HAVE_WINT_T=1
+  else
+    HAVE_WINT_T=0
+  fi
+
+
+  if test $gl_cv_header_wchar_h_standalone != yes || test $gt_cv_c_wint_t != yes; then
     WCHAR_H=wchar.h
   fi
 
@@ -32452,6 +34685,7 @@ echo "${ECHO_T}$gl_cv_next_wchar_h" >&6; }
 
 
 
+
   if test $ac_cv_func_iswcntrl = yes; then
     HAVE_ISWCNTRL=1
   else
@@ -32477,7 +34711,112 @@ echo "${ECHO_T}$gl_cv_next_wchar_h" >&6; }
   WCTYPE_H=wctype.h
   if test $ac_cv_header_wctype_h = yes; then
     if test $ac_cv_func_iswcntrl = yes; then
-      WCTYPE_H=
+                  { echo "$as_me:$LINENO: checking whether iswcntrl works" >&5
+echo $ECHO_N "checking whether iswcntrl works... $ECHO_C" >&6; }
+if test "${gl_cv_func_iswcntrl_works+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+          if test "$cross_compiling" = yes; then
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+                          #if __GNU_LIBRARY__ == 1
+                          Linux libc5 i18n is broken.
+                          #endif
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  gl_cv_func_iswcntrl_works=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       gl_cv_func_iswcntrl_works=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stddef.h>
+                      #include <stdio.h>
+                      #include <time.h>
+                      #include <wchar.h>
+                      #include <wctype.h>
+                      int main () { return iswprint ('x') == 0; }
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  gl_cv_func_iswcntrl_works=yes
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+gl_cv_func_iswcntrl_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+fi
+{ echo "$as_me:$LINENO: result: $gl_cv_func_iswcntrl_works" >&5
+echo "${ECHO_T}$gl_cv_func_iswcntrl_works" >&6; }
+      if test $gl_cv_func_iswcntrl_works = yes; then
+        WCTYPE_H=
+      fi
     fi
 
 
@@ -32534,6 +34873,13 @@ echo "${ECHO_T}$gl_cv_next_wctype_h" >&6; }
 
 
 
+  if test "$gl_cv_func_iswcntrl_works" = no; then
+    REPLACE_ISWCNTRL=1
+  else
+    REPLACE_ISWCNTRL=0
+  fi
+
+
 
 
 
@@ -32734,12 +35080,16 @@ echo "${ECHO_T}$gl_cv_func_wcwidth_works" >&6; }
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS wcwidth.$ac_objext"
 
   fi
 
   if test $REPLACE_WCWIDTH = 1 || test $HAVE_DECL_WCWIDTH = 0; then
-    WCHAR_H=wchar.h
+
+
+  WCHAR_H=wchar.h
+
   fi
 
 
@@ -32752,6 +35102,15 @@ echo "${ECHO_T}$gl_cv_func_wcwidth_works" >&6; }
 
 
 
+  GNULIB_WRITE=1
+
+
+
+
+
+
+
+
 
 
   gl_LIBOBJS="$gl_LIBOBJS xmalloc.$ac_objext"
@@ -32773,6 +35132,7 @@ echo "${ECHO_T}$gl_cv_func_wcwidth_works" >&6; }
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS xgetcwd.$ac_objext"
 
 
@@ -32940,6 +35300,7 @@ done
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS xstrtol.$ac_objext"
 
 
@@ -32949,6 +35310,7 @@ done
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS xstrtoul.$ac_objext"
 
 
@@ -32958,6 +35320,7 @@ done
 
 
 
+
   gl_LIBOBJS="$gl_LIBOBJS xstrtol-error.$ac_objext"
 
 
@@ -32965,16 +35328,29 @@ done
 
 
 
+
+
+
+
+
   gltests_libdeps=
   gltests_ltlibdeps=
 
 
 
+
+
+
+
+
   gl_source_base='.#bootmp/tests'
 
 
 
 
+
+
+
   LIBTAR_LIBDEPS="$gl_libdeps"
 
   LIBTAR_LTLIBDEPS="$gl_ltlibdeps"
 
 
 
-                  acl_libdirstem=lib
-  searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
-  if test -n "$searchpath"; then
-    acl_save_IFS="${IFS=       }"; IFS=":"
-    for searchdir in $searchpath; do
-      if test -d "$searchdir"; then
-        case "$searchdir" in
-          */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
-          *) searchdir=`cd "$searchdir" && pwd`
-             case "$searchdir" in
-               */lib64 ) acl_libdirstem=lib64 ;;
-             esac ;;
+
+  acl_libdirstem=lib
+  acl_libdirstem2=
+  case "$host_os" in
+    solaris*)
+                                    { echo "$as_me:$LINENO: checking for 64-bit host" >&5
+echo $ECHO_N "checking for 64-bit host... $ECHO_C" >&6; }
+if test "${gl_cv_solaris_64bit+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#ifdef _LP64
+sixtyfour bits
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "sixtyfour bits" >/dev/null 2>&1; then
+  gl_cv_solaris_64bit=yes
+else
+  gl_cv_solaris_64bit=no
+fi
+rm -f conftest*
+
+
+fi
+{ echo "$as_me:$LINENO: result: $gl_cv_solaris_64bit" >&5
+echo "${ECHO_T}$gl_cv_solaris_64bit" >&6; }
+      if test $gl_cv_solaris_64bit = yes; then
+        acl_libdirstem=lib/64
+        case "$host_cpu" in
+          sparc*)        acl_libdirstem2=lib/sparcv9 ;;
+          i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
         esac
       fi
-    done
-    IFS="$acl_save_IFS"
-  fi
+      ;;
+    *)
+      searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+      if test -n "$searchpath"; then
+        acl_save_IFS="${IFS=   }"; IFS=":"
+        for searchdir in $searchpath; do
+          if test -d "$searchdir"; then
+            case "$searchdir" in
+              */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+              *) searchdir=`cd "$searchdir" && pwd`
+                 case "$searchdir" in
+                   */lib64 ) acl_libdirstem=lib64 ;;
+                 esac ;;
+            esac
+          fi
+        done
+        IFS="$acl_save_IFS"
+      fi
+      ;;
+  esac
+  test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
 
 
 
@@ -34857,6 +37278,10 @@ if test "${with_libiconv_prefix+set}" = set; then
       else
         additional_includedir="$withval/include"
         additional_libdir="$withval/$acl_libdirstem"
+        if test "$acl_libdirstem2" != "$acl_libdirstem" \
+           && ! test -d "$withval/$acl_libdirstem"; then
+          additional_libdir="$withval/$acl_libdirstem2"
+        fi
       fi
     fi
 
@@ -35008,7 +37433,9 @@ fi
           if test "X$found_dir" != "X"; then
                         LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name"
             if test "X$found_so" != "X"; then
-                                                        if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
+                                                        if test "$enable_rpath" = no \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
                                 LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
               else
                                                                                 haveit=
                 LIBICONV_PREFIX="$basedir"
                 additional_includedir="$basedir/include"
                 ;;
+              */$acl_libdirstem2 | */$acl_libdirstem2/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+                LIBICONV_PREFIX="$basedir"
+                additional_includedir="$basedir/include"
+                ;;
             esac
             if test "X$additional_includedir" != "X"; then
                                                                                                                 if test "X$additional_includedir" != "X/usr/include"; then
                 case "$dep" in
                   -L*)
                     additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
-                                                                                                                                                                if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
+                                                                                                                                                                if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
                       haveit=
-                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
+                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
                         if test -n "$GCC"; then
                           case $host_os in
                             linux* | gnu* | k*bsd*-gnu) haveit=yes;;
@@ -36709,6 +39143,10 @@ if test "${with_libintl_prefix+set}" = set; then
       else
         additional_includedir="$withval/include"
         additional_libdir="$withval/$acl_libdirstem"
+        if test "$acl_libdirstem2" != "$acl_libdirstem" \
+           && ! test -d "$withval/$acl_libdirstem"; then
+          additional_libdir="$withval/$acl_libdirstem2"
+        fi
       fi
     fi
 
@@ -36860,7 +39298,9 @@ fi
           if test "X$found_dir" != "X"; then
                         LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name"
             if test "X$found_so" != "X"; then
-                                                        if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
+                                                        if test "$enable_rpath" = no \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
                                 LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
               else
                                                                                 haveit=
                 LIBINTL_PREFIX="$basedir"
                 additional_includedir="$basedir/include"
                 ;;
+              */$acl_libdirstem2 | */$acl_libdirstem2/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+                LIBINTL_PREFIX="$basedir"
+                additional_includedir="$basedir/include"
+                ;;
             esac
             if test "X$additional_includedir" != "X"; then
                                                                                                                 if test "X$additional_includedir" != "X/usr/include"; then
                 case "$dep" in
                   -L*)
                     additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
-                                                                                                                                                                if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
+                                                                                                                                                                if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
                       haveit=
-                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
+                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
                         if test -n "$GCC"; then
                           case $host_os in
                             linux* | gnu* | k*bsd*-gnu) haveit=yes;;
@@ -37826,7 +40273,7 @@ exec 6>&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.20, which was
+This file was extended by GNU tar $as_me 1.21, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -37879,7 +40326,7 @@ Report bugs to <bug-autoconf@gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-GNU tar config.status 1.20
+GNU tar config.status 1.21
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
@@ -38160,18 +40607,18 @@ STDBOOL_H!$STDBOOL_H$ac_delim
 HAVE__BOOL!$HAVE__BOOL$ac_delim
 GL_COND_LIBTOOL_TRUE!$GL_COND_LIBTOOL_TRUE$ac_delim
 GL_COND_LIBTOOL_FALSE!$GL_COND_LIBTOOL_FALSE$ac_delim
-EOVERFLOW!$EOVERFLOW$ac_delim
 ALLOCA!$ALLOCA$ac_delim
 ALLOCA_H!$ALLOCA_H$ac_delim
 GETOPT_H!$GETOPT_H$ac_delim
 GNULIB_CHOWN!$GNULIB_CHOWN$ac_delim
+GNULIB_CLOSE!$GNULIB_CLOSE$ac_delim
 GNULIB_DUP2!$GNULIB_DUP2$ac_delim
 GNULIB_ENVIRON!$GNULIB_ENVIRON$ac_delim
+GNULIB_EUIDACCESS!$GNULIB_EUIDACCESS$ac_delim
 GNULIB_FCHDIR!$GNULIB_FCHDIR$ac_delim
+GNULIB_FSYNC!$GNULIB_FSYNC$ac_delim
 GNULIB_FTRUNCATE!$GNULIB_FTRUNCATE$ac_delim
 GNULIB_GETCWD!$GNULIB_GETCWD$ac_delim
-GNULIB_GETLOGIN_R!$GNULIB_GETLOGIN_R$ac_delim
-GNULIB_GETPAGESIZE!$GNULIB_GETPAGESIZE$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -38213,13 +40660,27 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
+GNULIB_GETDOMAINNAME!$GNULIB_GETDOMAINNAME$ac_delim
+GNULIB_GETDTABLESIZE!$GNULIB_GETDTABLESIZE$ac_delim
+GNULIB_GETHOSTNAME!$GNULIB_GETHOSTNAME$ac_delim
+GNULIB_GETLOGIN_R!$GNULIB_GETLOGIN_R$ac_delim
+GNULIB_GETPAGESIZE!$GNULIB_GETPAGESIZE$ac_delim
+GNULIB_GETUSERSHELL!$GNULIB_GETUSERSHELL$ac_delim
 GNULIB_LCHOWN!$GNULIB_LCHOWN$ac_delim
 GNULIB_LSEEK!$GNULIB_LSEEK$ac_delim
 GNULIB_READLINK!$GNULIB_READLINK$ac_delim
 GNULIB_SLEEP!$GNULIB_SLEEP$ac_delim
+GNULIB_UNISTD_H_SIGPIPE!$GNULIB_UNISTD_H_SIGPIPE$ac_delim
+GNULIB_WRITE!$GNULIB_WRITE$ac_delim
 HAVE_DUP2!$HAVE_DUP2$ac_delim
+HAVE_EUIDACCESS!$HAVE_EUIDACCESS$ac_delim
+HAVE_FSYNC!$HAVE_FSYNC$ac_delim
 HAVE_FTRUNCATE!$HAVE_FTRUNCATE$ac_delim
+HAVE_GETDOMAINNAME!$HAVE_GETDOMAINNAME$ac_delim
+HAVE_GETDTABLESIZE!$HAVE_GETDTABLESIZE$ac_delim
+HAVE_GETHOSTNAME!$HAVE_GETHOSTNAME$ac_delim
 HAVE_GETPAGESIZE!$HAVE_GETPAGESIZE$ac_delim
+HAVE_GETUSERSHELL!$HAVE_GETUSERSHELL$ac_delim
 HAVE_READLINK!$HAVE_READLINK$ac_delim
 HAVE_SLEEP!$HAVE_SLEEP$ac_delim
 HAVE_DECL_ENVIRON!$HAVE_DECL_ENVIRON$ac_delim
@@ -38227,12 +40688,21 @@ HAVE_DECL_GETLOGIN_R!$HAVE_DECL_GETLOGIN_R$ac_delim
 HAVE_OS_H!$HAVE_OS_H$ac_delim
 HAVE_SYS_PARAM_H!$HAVE_SYS_PARAM_H$ac_delim
 REPLACE_CHOWN!$REPLACE_CHOWN$ac_delim
+REPLACE_CLOSE!$REPLACE_CLOSE$ac_delim
 REPLACE_FCHDIR!$REPLACE_FCHDIR$ac_delim
 REPLACE_GETCWD!$REPLACE_GETCWD$ac_delim
 REPLACE_GETPAGESIZE!$REPLACE_GETPAGESIZE$ac_delim
 REPLACE_LCHOWN!$REPLACE_LCHOWN$ac_delim
 REPLACE_LSEEK!$REPLACE_LSEEK$ac_delim
+REPLACE_WRITE!$REPLACE_WRITE$ac_delim
+UNISTD_H_HAVE_WINSOCK2_H!$UNISTD_H_HAVE_WINSOCK2_H$ac_delim
 LIB_CLOCK_GETTIME!$LIB_CLOCK_GETTIME$ac_delim
+GNULIB_DIRFD!$GNULIB_DIRFD$ac_delim
+HAVE_DECL_DIRFD!$HAVE_DECL_DIRFD$ac_delim
+DIRENT_H!$DIRENT_H$ac_delim
+INCLUDE_NEXT!$INCLUDE_NEXT$ac_delim
+PRAGMA_SYSTEM_HEADER!$PRAGMA_SYSTEM_HEADER$ac_delim
+NEXT_DIRENT_H!$NEXT_DIRENT_H$ac_delim
 build!$build$ac_delim
 build_cpu!$build_cpu$ac_delim
 build_vendor!$build_vendor$ac_delim
@@ -38241,25 +40711,31 @@ host!$host$ac_delim
 host_cpu!$host_cpu$ac_delim
 host_vendor!$host_vendor$ac_delim
 host_os!$host_os$ac_delim
-INCLUDE_NEXT!$INCLUDE_NEXT$ac_delim
-NEXT_DIRENT_H!$NEXT_DIRENT_H$ac_delim
-DIRENT_H!$DIRENT_H$ac_delim
+NEXT_ERRNO_H!$NEXT_ERRNO_H$ac_delim
+ERRNO_H!$ERRNO_H$ac_delim
+EMULTIHOP_HIDDEN!$EMULTIHOP_HIDDEN$ac_delim
+EMULTIHOP_VALUE!$EMULTIHOP_VALUE$ac_delim
+ENOLINK_HIDDEN!$ENOLINK_HIDDEN$ac_delim
+ENOLINK_VALUE!$ENOLINK_VALUE$ac_delim
+EOVERFLOW_HIDDEN!$EOVERFLOW_HIDDEN$ac_delim
+EOVERFLOW_VALUE!$EOVERFLOW_VALUE$ac_delim
 GNULIB_OPEN!$GNULIB_OPEN$ac_delim
 REPLACE_OPEN!$REPLACE_OPEN$ac_delim
-NEXT_FCNTL_H!$NEXT_FCNTL_H$ac_delim
-FCNTL_H!$FCNTL_H$ac_delim
-NEXT_FLOAT_H!$NEXT_FLOAT_H$ac_delim
-FLOAT_H!$FLOAT_H$ac_delim
-FNMATCH_H!$FNMATCH_H$ac_delim
+GNULIB_FPRINTF!$GNULIB_FPRINTF$ac_delim
 GNULIB_FPRINTF_POSIX!$GNULIB_FPRINTF_POSIX$ac_delim
+GNULIB_PRINTF!$GNULIB_PRINTF$ac_delim
 GNULIB_PRINTF_POSIX!$GNULIB_PRINTF_POSIX$ac_delim
 GNULIB_SNPRINTF!$GNULIB_SNPRINTF$ac_delim
 GNULIB_SPRINTF_POSIX!$GNULIB_SPRINTF_POSIX$ac_delim
+GNULIB_VFPRINTF!$GNULIB_VFPRINTF$ac_delim
 GNULIB_VFPRINTF_POSIX!$GNULIB_VFPRINTF_POSIX$ac_delim
+GNULIB_VPRINTF!$GNULIB_VPRINTF$ac_delim
 GNULIB_VPRINTF_POSIX!$GNULIB_VPRINTF_POSIX$ac_delim
 GNULIB_VSNPRINTF!$GNULIB_VSNPRINTF$ac_delim
 GNULIB_VSPRINTF_POSIX!$GNULIB_VSPRINTF_POSIX$ac_delim
 GNULIB_VASPRINTF!$GNULIB_VASPRINTF$ac_delim
+GNULIB_OBSTACK_PRINTF!$GNULIB_OBSTACK_PRINTF$ac_delim
+GNULIB_OBSTACK_PRINTF_POSIX!$GNULIB_OBSTACK_PRINTF_POSIX$ac_delim
 GNULIB_FOPEN!$GNULIB_FOPEN$ac_delim
 GNULIB_FREOPEN!$GNULIB_FREOPEN$ac_delim
 GNULIB_FSEEK!$GNULIB_FSEEK$ac_delim
@@ -38267,49 +40743,20 @@ GNULIB_FSEEKO!$GNULIB_FSEEKO$ac_delim
 GNULIB_FTELL!$GNULIB_FTELL$ac_delim
 GNULIB_FTELLO!$GNULIB_FTELLO$ac_delim
 GNULIB_FFLUSH!$GNULIB_FFLUSH$ac_delim
+GNULIB_FCLOSE!$GNULIB_FCLOSE$ac_delim
+GNULIB_FPUTC!$GNULIB_FPUTC$ac_delim
+GNULIB_PUTC!$GNULIB_PUTC$ac_delim
+GNULIB_PUTCHAR!$GNULIB_PUTCHAR$ac_delim
+GNULIB_FPUTS!$GNULIB_FPUTS$ac_delim
+GNULIB_PUTS!$GNULIB_PUTS$ac_delim
+GNULIB_FWRITE!$GNULIB_FWRITE$ac_delim
 GNULIB_GETDELIM!$GNULIB_GETDELIM$ac_delim
 GNULIB_GETLINE!$GNULIB_GETLINE$ac_delim
+GNULIB_PERROR!$GNULIB_PERROR$ac_delim
+GNULIB_STDIO_H_SIGPIPE!$GNULIB_STDIO_H_SIGPIPE$ac_delim
+REPLACE_STDIO_WRITE_FUNCS!$REPLACE_STDIO_WRITE_FUNCS$ac_delim
 REPLACE_FPRINTF!$REPLACE_FPRINTF$ac_delim
 REPLACE_VFPRINTF!$REPLACE_VFPRINTF$ac_delim
-REPLACE_PRINTF!$REPLACE_PRINTF$ac_delim
-REPLACE_VPRINTF!$REPLACE_VPRINTF$ac_delim
-REPLACE_SNPRINTF!$REPLACE_SNPRINTF$ac_delim
-HAVE_DECL_SNPRINTF!$HAVE_DECL_SNPRINTF$ac_delim
-REPLACE_VSNPRINTF!$REPLACE_VSNPRINTF$ac_delim
-HAVE_DECL_VSNPRINTF!$HAVE_DECL_VSNPRINTF$ac_delim
-REPLACE_SPRINTF!$REPLACE_SPRINTF$ac_delim
-REPLACE_VSPRINTF!$REPLACE_VSPRINTF$ac_delim
-HAVE_VASPRINTF!$HAVE_VASPRINTF$ac_delim
-REPLACE_VASPRINTF!$REPLACE_VASPRINTF$ac_delim
-REPLACE_FOPEN!$REPLACE_FOPEN$ac_delim
-REPLACE_FREOPEN!$REPLACE_FREOPEN$ac_delim
-HAVE_FSEEKO!$HAVE_FSEEKO$ac_delim
-REPLACE_FSEEKO!$REPLACE_FSEEKO$ac_delim
-REPLACE_FSEEK!$REPLACE_FSEEK$ac_delim
-HAVE_FTELLO!$HAVE_FTELLO$ac_delim
-REPLACE_FTELLO!$REPLACE_FTELLO$ac_delim
-REPLACE_FTELL!$REPLACE_FTELL$ac_delim
-REPLACE_FFLUSH!$REPLACE_FFLUSH$ac_delim
-HAVE_DECL_GETDELIM!$HAVE_DECL_GETDELIM$ac_delim
-HAVE_DECL_GETLINE!$HAVE_DECL_GETLINE$ac_delim
-REPLACE_GETLINE!$REPLACE_GETLINE$ac_delim
-LIBINTL!$LIBINTL$ac_delim
-LTLIBINTL!$LTLIBINTL$ac_delim
-NEXT_SYS_TIME_H!$NEXT_SYS_TIME_H$ac_delim
-HAVE_SYS_TIME_H!$HAVE_SYS_TIME_H$ac_delim
-HAVE_STRUCT_TIMEVAL!$HAVE_STRUCT_TIMEVAL$ac_delim
-REPLACE_GETTIMEOFDAY!$REPLACE_GETTIMEOFDAY$ac_delim
-SYS_TIME_H!$SYS_TIME_H$ac_delim
-HAVE_LONG_LONG_INT!$HAVE_LONG_LONG_INT$ac_delim
-HAVE_UNSIGNED_LONG_LONG_INT!$HAVE_UNSIGNED_LONG_LONG_INT$ac_delim
-HAVE_INTTYPES_H!$HAVE_INTTYPES_H$ac_delim
-HAVE_SYS_TYPES_H!$HAVE_SYS_TYPES_H$ac_delim
-NEXT_STDINT_H!$NEXT_STDINT_H$ac_delim
-HAVE_STDINT_H!$HAVE_STDINT_H$ac_delim
-HAVE_SYS_INTTYPES_H!$HAVE_SYS_INTTYPES_H$ac_delim
-HAVE_SYS_BITYPES_H!$HAVE_SYS_BITYPES_H$ac_delim
-BITSIZEOF_PTRDIFF_T!$BITSIZEOF_PTRDIFF_T$ac_delim
-BITSIZEOF_SIG_ATOMIC_T!$BITSIZEOF_SIG_ATOMIC_T$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -38351,6 +40798,54 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
+REPLACE_PRINTF!$REPLACE_PRINTF$ac_delim
+REPLACE_VPRINTF!$REPLACE_VPRINTF$ac_delim
+REPLACE_SNPRINTF!$REPLACE_SNPRINTF$ac_delim
+HAVE_DECL_SNPRINTF!$HAVE_DECL_SNPRINTF$ac_delim
+REPLACE_VSNPRINTF!$REPLACE_VSNPRINTF$ac_delim
+HAVE_DECL_VSNPRINTF!$HAVE_DECL_VSNPRINTF$ac_delim
+REPLACE_SPRINTF!$REPLACE_SPRINTF$ac_delim
+REPLACE_VSPRINTF!$REPLACE_VSPRINTF$ac_delim
+HAVE_VASPRINTF!$HAVE_VASPRINTF$ac_delim
+REPLACE_VASPRINTF!$REPLACE_VASPRINTF$ac_delim
+HAVE_DECL_OBSTACK_PRINTF!$HAVE_DECL_OBSTACK_PRINTF$ac_delim
+REPLACE_OBSTACK_PRINTF!$REPLACE_OBSTACK_PRINTF$ac_delim
+REPLACE_FOPEN!$REPLACE_FOPEN$ac_delim
+REPLACE_FREOPEN!$REPLACE_FREOPEN$ac_delim
+HAVE_FSEEKO!$HAVE_FSEEKO$ac_delim
+REPLACE_FSEEKO!$REPLACE_FSEEKO$ac_delim
+REPLACE_FSEEK!$REPLACE_FSEEK$ac_delim
+HAVE_FTELLO!$HAVE_FTELLO$ac_delim
+REPLACE_FTELLO!$REPLACE_FTELLO$ac_delim
+REPLACE_FTELL!$REPLACE_FTELL$ac_delim
+REPLACE_FFLUSH!$REPLACE_FFLUSH$ac_delim
+REPLACE_FCLOSE!$REPLACE_FCLOSE$ac_delim
+HAVE_DECL_GETDELIM!$HAVE_DECL_GETDELIM$ac_delim
+HAVE_DECL_GETLINE!$HAVE_DECL_GETLINE$ac_delim
+REPLACE_GETLINE!$REPLACE_GETLINE$ac_delim
+REPLACE_PERROR!$REPLACE_PERROR$ac_delim
+NEXT_FCNTL_H!$NEXT_FCNTL_H$ac_delim
+FCNTL_H!$FCNTL_H$ac_delim
+NEXT_FLOAT_H!$NEXT_FLOAT_H$ac_delim
+FLOAT_H!$FLOAT_H$ac_delim
+FNMATCH_H!$FNMATCH_H$ac_delim
+LIBINTL!$LIBINTL$ac_delim
+LTLIBINTL!$LTLIBINTL$ac_delim
+NEXT_SYS_TIME_H!$NEXT_SYS_TIME_H$ac_delim
+HAVE_SYS_TIME_H!$HAVE_SYS_TIME_H$ac_delim
+HAVE_STRUCT_TIMEVAL!$HAVE_STRUCT_TIMEVAL$ac_delim
+REPLACE_GETTIMEOFDAY!$REPLACE_GETTIMEOFDAY$ac_delim
+SYS_TIME_H!$SYS_TIME_H$ac_delim
+HAVE_LONG_LONG_INT!$HAVE_LONG_LONG_INT$ac_delim
+HAVE_UNSIGNED_LONG_LONG_INT!$HAVE_UNSIGNED_LONG_LONG_INT$ac_delim
+HAVE_INTTYPES_H!$HAVE_INTTYPES_H$ac_delim
+HAVE_SYS_TYPES_H!$HAVE_SYS_TYPES_H$ac_delim
+NEXT_STDINT_H!$NEXT_STDINT_H$ac_delim
+HAVE_STDINT_H!$HAVE_STDINT_H$ac_delim
+HAVE_SYS_INTTYPES_H!$HAVE_SYS_INTTYPES_H$ac_delim
+HAVE_SYS_BITYPES_H!$HAVE_SYS_BITYPES_H$ac_delim
+BITSIZEOF_PTRDIFF_T!$BITSIZEOF_PTRDIFF_T$ac_delim
+BITSIZEOF_SIG_ATOMIC_T!$BITSIZEOF_SIG_ATOMIC_T$ac_delim
 BITSIZEOF_SIZE_T!$BITSIZEOF_SIZE_T$ac_delim
 BITSIZEOF_WCHAR_T!$BITSIZEOF_WCHAR_T$ac_delim
 BITSIZEOF_WINT_T!$BITSIZEOF_WINT_T$ac_delim
@@ -38381,24 +40876,84 @@ UINT64_MAX_EQ_ULONG_MAX!$UINT64_MAX_EQ_ULONG_MAX$ac_delim
 INTTYPES_H!$INTTYPES_H$ac_delim
 GLIBC21!$GLIBC21$ac_delim
 LOCALCHARSET_TESTS_ENVIRONMENT!$LOCALCHARSET_TESTS_ENVIRONMENT$ac_delim
+GNULIB_LCHMOD!$GNULIB_LCHMOD$ac_delim
+GNULIB_LSTAT!$GNULIB_LSTAT$ac_delim
+HAVE_LCHMOD!$HAVE_LCHMOD$ac_delim
+REPLACE_LSTAT!$REPLACE_LSTAT$ac_delim
+REPLACE_MKDIR!$REPLACE_MKDIR$ac_delim
 HAVE_MALLOC_POSIX!$HAVE_MALLOC_POSIX$ac_delim
 GNULIB_MALLOC_POSIX!$GNULIB_MALLOC_POSIX$ac_delim
 GNULIB_REALLOC_POSIX!$GNULIB_REALLOC_POSIX$ac_delim
 GNULIB_CALLOC_POSIX!$GNULIB_CALLOC_POSIX$ac_delim
+GNULIB_ATOLL!$GNULIB_ATOLL$ac_delim
+GNULIB_GETLOADAVG!$GNULIB_GETLOADAVG$ac_delim
 GNULIB_GETSUBOPT!$GNULIB_GETSUBOPT$ac_delim
 GNULIB_MKDTEMP!$GNULIB_MKDTEMP$ac_delim
 GNULIB_MKSTEMP!$GNULIB_MKSTEMP$ac_delim
 GNULIB_PUTENV!$GNULIB_PUTENV$ac_delim
+GNULIB_RANDOM_R!$GNULIB_RANDOM_R$ac_delim
+GNULIB_RPMATCH!$GNULIB_RPMATCH$ac_delim
 GNULIB_SETENV!$GNULIB_SETENV$ac_delim
 GNULIB_STRTOD!$GNULIB_STRTOD$ac_delim
+_ACEOF
+
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
+    break
+  elif $ac_last_try; then
+    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+  ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-3.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+CEOF$ac_eof
+_ACEOF
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  cat >conf$$subs.sed <<_ACEOF
+GNULIB_STRTOLL!$GNULIB_STRTOLL$ac_delim
+GNULIB_STRTOULL!$GNULIB_STRTOULL$ac_delim
 GNULIB_UNSETENV!$GNULIB_UNSETENV$ac_delim
+HAVE_ATOLL!$HAVE_ATOLL$ac_delim
 HAVE_CALLOC_POSIX!$HAVE_CALLOC_POSIX$ac_delim
 HAVE_GETSUBOPT!$HAVE_GETSUBOPT$ac_delim
 HAVE_MKDTEMP!$HAVE_MKDTEMP$ac_delim
 HAVE_REALLOC_POSIX!$HAVE_REALLOC_POSIX$ac_delim
+HAVE_RANDOM_R!$HAVE_RANDOM_R$ac_delim
+HAVE_RPMATCH!$HAVE_RPMATCH$ac_delim
 HAVE_SETENV!$HAVE_SETENV$ac_delim
 HAVE_STRTOD!$HAVE_STRTOD$ac_delim
+HAVE_STRTOLL!$HAVE_STRTOLL$ac_delim
+HAVE_STRTOULL!$HAVE_STRTOULL$ac_delim
+HAVE_STRUCT_RANDOM_DATA!$HAVE_STRUCT_RANDOM_DATA$ac_delim
+HAVE_SYS_LOADAVG_H!$HAVE_SYS_LOADAVG_H$ac_delim
 HAVE_UNSETENV!$HAVE_UNSETENV$ac_delim
+HAVE_DECL_GETLOADAVG!$HAVE_DECL_GETLOADAVG$ac_delim
 REPLACE_MKSTEMP!$REPLACE_MKSTEMP$ac_delim
 REPLACE_PUTENV!$REPLACE_PUTENV$ac_delim
 REPLACE_STRTOD!$REPLACE_STRTOD$ac_delim
@@ -38406,6 +40961,7 @@ VOID_UNSETENV!$VOID_UNSETENV$ac_delim
 GNULIB_MEMMEM!$GNULIB_MEMMEM$ac_delim
 GNULIB_MEMPCPY!$GNULIB_MEMPCPY$ac_delim
 GNULIB_MEMRCHR!$GNULIB_MEMRCHR$ac_delim
+GNULIB_RAWMEMCHR!$GNULIB_RAWMEMCHR$ac_delim
 GNULIB_STPCPY!$GNULIB_STPCPY$ac_delim
 GNULIB_STPNCPY!$GNULIB_STPNCPY$ac_delim
 GNULIB_STRCHRNUL!$GNULIB_STRCHRNUL$ac_delim
@@ -38433,9 +40989,11 @@ GNULIB_MBSSEP!$GNULIB_MBSSEP$ac_delim
 GNULIB_MBSTOK_R!$GNULIB_MBSTOK_R$ac_delim
 GNULIB_STRERROR!$GNULIB_STRERROR$ac_delim
 GNULIB_STRSIGNAL!$GNULIB_STRSIGNAL$ac_delim
+GNULIB_STRVERSCMP!$GNULIB_STRVERSCMP$ac_delim
 HAVE_DECL_MEMMEM!$HAVE_DECL_MEMMEM$ac_delim
 HAVE_MEMPCPY!$HAVE_MEMPCPY$ac_delim
 HAVE_DECL_MEMRCHR!$HAVE_DECL_MEMRCHR$ac_delim
+HAVE_RAWMEMCHR!$HAVE_RAWMEMCHR$ac_delim
 HAVE_STPCPY!$HAVE_STPCPY$ac_delim
 HAVE_STPNCPY!$HAVE_STPNCPY$ac_delim
 HAVE_STRCHRNUL!$HAVE_STRCHRNUL$ac_delim
@@ -38448,6 +41006,33 @@ HAVE_STRSEP!$HAVE_STRSEP$ac_delim
 HAVE_STRCASESTR!$HAVE_STRCASESTR$ac_delim
 HAVE_DECL_STRTOK_R!$HAVE_DECL_STRTOK_R$ac_delim
 HAVE_DECL_STRERROR!$HAVE_DECL_STRERROR$ac_delim
+HAVE_DECL_STRSIGNAL!$HAVE_DECL_STRSIGNAL$ac_delim
+HAVE_STRVERSCMP!$HAVE_STRVERSCMP$ac_delim
+REPLACE_MEMMEM!$REPLACE_MEMMEM$ac_delim
+REPLACE_STRDUP!$REPLACE_STRDUP$ac_delim
+REPLACE_STRSTR!$REPLACE_STRSTR$ac_delim
+REPLACE_STRCASESTR!$REPLACE_STRCASESTR$ac_delim
+REPLACE_STRERROR!$REPLACE_STRERROR$ac_delim
+REPLACE_STRSIGNAL!$REPLACE_STRSIGNAL$ac_delim
+STDARG_H!$STDARG_H$ac_delim
+NEXT_STDARG_H!$NEXT_STDARG_H$ac_delim
+NEXT_STDIO_H!$NEXT_STDIO_H$ac_delim
+NEXT_STDLIB_H!$NEXT_STDLIB_H$ac_delim
+HAVE_STRCASECMP!$HAVE_STRCASECMP$ac_delim
+HAVE_DECL_STRNCASECMP!$HAVE_DECL_STRNCASECMP$ac_delim
+NEXT_STRING_H!$NEXT_STRING_H$ac_delim
+NEXT_STRINGS_H!$NEXT_STRINGS_H$ac_delim
+HAVE_LSTAT!$HAVE_LSTAT$ac_delim
+NEXT_SYS_STAT_H!$NEXT_SYS_STAT_H$ac_delim
+SYS_STAT_H!$SYS_STAT_H$ac_delim
+NEXT_SYSEXITS_H!$NEXT_SYSEXITS_H$ac_delim
+HAVE_SYSEXITS_H!$HAVE_SYSEXITS_H$ac_delim
+SYSEXITS_H!$SYSEXITS_H$ac_delim
+REPLACE_LOCALTIME_R!$REPLACE_LOCALTIME_R$ac_delim
+REPLACE_NANOSLEEP!$REPLACE_NANOSLEEP$ac_delim
+REPLACE_STRPTIME!$REPLACE_STRPTIME$ac_delim
+REPLACE_TIMEGM!$REPLACE_TIMEGM$ac_delim
+NEXT_TIME_H!$NEXT_TIME_H$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -38468,7 +41053,7 @@ if test -n "$ac_eof"; then
 fi
 
 cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-3.sed" <<\CEOF$ac_eof
+cat >"\$tmp/subs-4.sed" <<\CEOF$ac_eof
 /@[a-zA-Z_][a-zA-Z_0-9]*@/!b
 _ACEOF
 sed '
@@ -38489,33 +41074,6 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
-HAVE_DECL_STRSIGNAL!$HAVE_DECL_STRSIGNAL$ac_delim
-REPLACE_STRERROR!$REPLACE_STRERROR$ac_delim
-REPLACE_STRSIGNAL!$REPLACE_STRSIGNAL$ac_delim
-REPLACE_MEMMEM!$REPLACE_MEMMEM$ac_delim
-REPLACE_STRCASESTR!$REPLACE_STRCASESTR$ac_delim
-REPLACE_STRSTR!$REPLACE_STRSTR$ac_delim
-STDARG_H!$STDARG_H$ac_delim
-NEXT_STDARG_H!$NEXT_STDARG_H$ac_delim
-NEXT_STDIO_H!$NEXT_STDIO_H$ac_delim
-NEXT_STDLIB_H!$NEXT_STDLIB_H$ac_delim
-HAVE_STRCASECMP!$HAVE_STRCASECMP$ac_delim
-HAVE_DECL_STRNCASECMP!$HAVE_DECL_STRNCASECMP$ac_delim
-NEXT_STRING_H!$NEXT_STRING_H$ac_delim
-NEXT_STRINGS_H!$NEXT_STRINGS_H$ac_delim
-HAVE_LSTAT!$HAVE_LSTAT$ac_delim
-HAVE_DECL_MKDIR!$HAVE_DECL_MKDIR$ac_delim
-HAVE_IO_H!$HAVE_IO_H$ac_delim
-NEXT_SYS_STAT_H!$NEXT_SYS_STAT_H$ac_delim
-SYS_STAT_H!$SYS_STAT_H$ac_delim
-NEXT_SYSEXITS_H!$NEXT_SYSEXITS_H$ac_delim
-HAVE_SYSEXITS_H!$HAVE_SYSEXITS_H$ac_delim
-SYSEXITS_H!$SYSEXITS_H$ac_delim
-REPLACE_LOCALTIME_R!$REPLACE_LOCALTIME_R$ac_delim
-REPLACE_NANOSLEEP!$REPLACE_NANOSLEEP$ac_delim
-REPLACE_STRPTIME!$REPLACE_STRPTIME$ac_delim
-REPLACE_TIMEGM!$REPLACE_TIMEGM$ac_delim
-NEXT_TIME_H!$NEXT_TIME_H$ac_delim
 TIME_H_DEFINES_STRUCT_TIMESPEC!$TIME_H_DEFINES_STRUCT_TIMESPEC$ac_delim
 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC!$SYS_TIME_H_DEFINES_STRUCT_TIMESPEC$ac_delim
 NEXT_UNISTD_H!$NEXT_UNISTD_H$ac_delim
@@ -38524,13 +41082,14 @@ GNULIB_WCWIDTH!$GNULIB_WCWIDTH$ac_delim
 HAVE_DECL_WCWIDTH!$HAVE_DECL_WCWIDTH$ac_delim
 REPLACE_WCWIDTH!$REPLACE_WCWIDTH$ac_delim
 WCHAR_H!$WCHAR_H$ac_delim
+HAVE_WINT_T!$HAVE_WINT_T$ac_delim
 HAVE_WCHAR_H!$HAVE_WCHAR_H$ac_delim
 NEXT_WCHAR_H!$NEXT_WCHAR_H$ac_delim
 HAVE_ISWCNTRL!$HAVE_ISWCNTRL$ac_delim
-HAVE_WINT_T!$HAVE_WINT_T$ac_delim
 NEXT_WCTYPE_H!$NEXT_WCTYPE_H$ac_delim
 HAVE_WCTYPE_H!$HAVE_WCTYPE_H$ac_delim
 WCTYPE_H!$WCTYPE_H$ac_delim
+REPLACE_ISWCNTRL!$REPLACE_ISWCNTRL$ac_delim
 LIBTAR_LIBDEPS!$LIBTAR_LIBDEPS$ac_delim
 LIBTAR_LTLIBDEPS!$LIBTAR_LTLIBDEPS$ac_delim
 LIB_SETSOCKOPT!$LIB_SETSOCKOPT$ac_delim
@@ -38568,7 +41127,7 @@ gltests_LIBOBJS!$gltests_LIBOBJS$ac_delim
 gltests_LTLIBOBJS!$gltests_LTLIBOBJS$ac_delim
 _ACEOF
 
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 77; then
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 51; then
     break
   elif $ac_last_try; then
     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
@@ -38586,7 +41145,7 @@ if test -n "$ac_eof"; then
 fi
 
 cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-4.sed" <<\CEOF$ac_eof
+cat >"\$tmp/subs-5.sed" <<\CEOF$ac_eof
 /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
 _ACEOF
 sed '
@@ -38855,7 +41414,7 @@ s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
 s&@INSTALL@&$ac_INSTALL&;t t
 s&@MKDIR_P@&$ac_MKDIR_P&;t t
 $ac_datarootdir_hack
-" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" | sed -f "$tmp/subs-3.sed" | sed -f "$tmp/subs-4.sed" >$tmp/out
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" | sed -f "$tmp/subs-3.sed" | sed -f "$tmp/subs-4.sed" | sed -f "$tmp/subs-5.sed" >$tmp/out
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
   { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
index 27d2e32372ad42d815e8635ca348e668c9162b79..6912812b4ce9d92fe86444be8883b30f738d9ee6 100644 (file)
@@ -1,4 +1,4 @@
-# Configure template for GNU tar.
+# Configure template for GNU tar.  -*- autoconf -*-
 
 # Copyright (C) 1991, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
 # 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
@@ -18,7 +18,7 @@
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 # 02110-1301, USA.
 
-AC_INIT([GNU tar], [1.20], [bug-tar@gnu.org])
+AC_INIT([GNU tar], [1.21], [bug-tar@gnu.org])
 AC_CONFIG_SRCDIR([src/tar.c])
 AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_HEADERS([config.h:config.hin])
index 73bebcd56dfbdc434380cd86c5322d1b0b99128e..c01077a06656e12030b503f997e627864c8fa71a 100644 (file)
@@ -46,19 +46,20 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/alloca.m4 \
        $(top_srcdir)/m4/canonicalize-lgpl.m4 \
        $(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \
        $(top_srcdir)/m4/clock_time.m4 \
-       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/closeout.m4 \
-       $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/d-ino.m4 \
+       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
+       $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/d-ino.m4 $(top_srcdir)/m4/dirent_h.m4 \
        $(top_srcdir)/m4/dirfd.m4 $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \
        $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \
-       $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/eoverflow.m4 \
+       $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \
        $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exclude.m4 \
        $(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.m4 \
-       $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fcntl-safer.m4 \
-       $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fileblocks.m4 \
-       $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
-       $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseeko.m4 \
-       $(top_srcdir)/m4/ftruncate.m4 \
+       $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fclose.m4 \
+       $(top_srcdir)/m4/fcntl-safer.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+       $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/float_h.m4 \
+       $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \
+       $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/ftruncate.m4 \
        $(top_srcdir)/m4/getcwd-abort-bug.m4 \
        $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
        $(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getdelim.m4 \
@@ -83,41 +84,43 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/alloca.m4 \
        $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \
        $(top_srcdir)/m4/memset.m4 $(top_srcdir)/m4/mkdtemp.m4 \
        $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/modechange.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/openat.m4 \
-       $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/open.m4 \
+       $(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/paxutils.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/progtest.m4 \
        $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
-       $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
-       $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rmdir.m4 \
-       $(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \
-       $(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \
-       $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \
-       $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/sleep.m4 $(top_srcdir)/m4/snprintf.m4 \
-       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
-       $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
-       $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \
-       $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
-       $(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcase.m4 \
-       $(top_srcdir)/m4/strchrnul.m4 $(top_srcdir)/m4/strdup.m4 \
-       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/string_h.m4 \
-       $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \
-       $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoimax.m4 \
-       $(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/strtoll.m4 \
-       $(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \
-       $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/sys_stat_h.m4 \
-       $(top_srcdir)/m4/sys_time_h.m4 $(top_srcdir)/m4/sysexits.m4 \
-       $(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \
-       $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
-       $(top_srcdir)/m4/unistd-safer.m4 $(top_srcdir)/m4/unistd_h.m4 \
-       $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \
-       $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utime.m4 \
-       $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimes-null.m4 \
-       $(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \
-       $(top_srcdir)/m4/vsnprintf.m4 $(top_srcdir)/m4/wchar.m4 \
-       $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wctype.m4 \
-       $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \
+       $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/readlink.m4 \
+       $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \
+       $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rmt.m4 \
+       $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/rtapelib.m4 \
+       $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \
+       $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \
+       $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \
+       $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \
+       $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stdarg.m4 \
+       $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stdint.m4 \
+       $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/stpcpy.m4 \
+       $(top_srcdir)/m4/strcase.m4 $(top_srcdir)/m4/strchrnul.m4 \
+       $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
+       $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \
+       $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
+       $(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \
+       $(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \
+       $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
+       $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
+       $(top_srcdir)/m4/sysexits.m4 $(top_srcdir)/m4/system.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
+       $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlinkdir.m4 \
+       $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \
+       $(top_srcdir)/m4/utime.m4 $(top_srcdir)/m4/utimens.m4 \
+       $(top_srcdir)/m4/utimes-null.m4 $(top_srcdir)/m4/utimes.m4 \
+       $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vsnprintf.m4 \
+       $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wchar_t.m4 \
+       $(top_srcdir)/m4/wctype.m4 $(top_srcdir)/m4/wcwidth.m4 \
+       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/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)/configure.ac
@@ -184,7 +187,13 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
-EOVERFLOW = @EOVERFLOW@
+EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
+EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
+ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
+ENOLINK_VALUE = @ENOLINK_VALUE@
+EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
+EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
+ERRNO_H = @ERRNO_H@
 EXEEXT = @EXEEXT@
 FCNTL_H = @FCNTL_H@
 FLOAT_H = @FLOAT_H@
@@ -194,30 +203,47 @@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CHOWN = @GNULIB_CHOWN@
+GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DIRFD = @GNULIB_DIRFD@
 GNULIB_DUP2 = @GNULIB_DUP2@
 GNULIB_ENVIRON = @GNULIB_ENVIRON@
+GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
 GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
 GNULIB_FFLUSH = @GNULIB_FFLUSH@
 GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
 GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
 GNULIB_FREOPEN = @GNULIB_FREOPEN@
 GNULIB_FSEEK = @GNULIB_FSEEK@
 GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSYNC = @GNULIB_FSYNC@
 GNULIB_FTELL = @GNULIB_FTELL@
 GNULIB_FTELLO = @GNULIB_FTELLO@
 GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FWRITE = @GNULIB_FWRITE@
 GNULIB_GETCWD = @GNULIB_GETCWD@
 GNULIB_GETDELIM = @GNULIB_GETDELIM@
+GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
+GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
 GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
+GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
 GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
 GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
@@ -238,15 +264,26 @@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
 GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
 GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
 GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
+GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READLINK = @GNULIB_READLINK@
 GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SETENV = @GNULIB_SETENV@
 GNULIB_SLEEP = @GNULIB_SLEEP@
 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
 GNULIB_STPCPY = @GNULIB_STPCPY@
 GNULIB_STPNCPY = @GNULIB_STPNCPY@
 GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
@@ -262,25 +299,35 @@ GNULIB_STRSTR = @GNULIB_STRSTR@
 GNULIB_STRTOD = @GNULIB_STRTOD@
 GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
 GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
 GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
+GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNSETENV = @GNULIB_UNSETENV@
 GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
 GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
 GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
 GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
 GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
 GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WRITE = @GNULIB_WRITE@
 GREP = @GREP@
+HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
+HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
-HAVE_DECL_MKDIR = @HAVE_DECL_MKDIR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
@@ -294,22 +341,31 @@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
 HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
 HAVE_DUP2 = @HAVE_DUP2@
+HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
 HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSYNC = @HAVE_FSYNC@
 HAVE_FTELLO = @HAVE_FTELLO@
 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
+HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
-HAVE_IO_H = @HAVE_IO_H@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LCHMOD = @HAVE_LCHMOD@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
 HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
 HAVE_MEMPCPY = @HAVE_MEMPCPY@
 HAVE_MKDTEMP = @HAVE_MKDTEMP@
 HAVE_OS_H = @HAVE_OS_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
+HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
+HAVE_RPMATCH = @HAVE_RPMATCH@
 HAVE_SETENV = @HAVE_SETENV@
 HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
 HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
@@ -325,10 +381,15 @@ HAVE_STRNDUP = @HAVE_STRNDUP@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRSEP = @HAVE_STRSEP@
 HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
+HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
@@ -370,6 +431,7 @@ MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
 NEXT_DIRENT_H = @NEXT_DIRENT_H@
+NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_FLOAT_H = @NEXT_FLOAT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
@@ -395,13 +457,16 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 POSUB = @POSUB@
+PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
 PRIPTR_PREFIX = @PRIPTR_PREFIX@
 PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 PU_RMT_PROG = @PU_RMT_PROG@
 RANLIB = @RANLIB@
 REPLACE_CHOWN = @REPLACE_CHOWN@
+REPLACE_CLOSE = @REPLACE_CLOSE@
 REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
@@ -414,18 +479,25 @@ REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
 REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
 REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_PERROR = @REPLACE_PERROR@
 REPLACE_PRINTF = @REPLACE_PRINTF@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
 REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
 REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
 REPLACE_STRPTIME = @REPLACE_STRPTIME@
 REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
@@ -438,6 +510,7 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WRITE = @REPLACE_WRITE@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
@@ -453,6 +526,7 @@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 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@
+UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 VOID_UNSETENV = @VOID_UNSETENV@
index eae4526b48c69a36b0bd5c0343b7956175cb42af..7175e3d5f20fc533ac2ae6df685c346bf39448f6 100644 (file)
@@ -265,16 +265,19 @@ which uses @samp{12m} for noon and @samp{12pm} for midnight.)
 The time may alternatively be followed by a time zone correction,
 expressed as @samp{@var{s}@var{hh}@var{mm}}, where @var{s} is @samp{+}
 or @samp{-}, @var{hh} is a number of zone hours and @var{mm} is a number
-of zone minutes.  You can also separate @var{hh} from @var{mm} with a colon.
+of zone minutes.
+The zone minutes term, @var{mm}, may be omitted, in which case
+the one- or two-digit correction is interpreted as a number of hours.
+You can also separate @var{hh} from @var{mm} with a colon.
 When a time zone correction is given this way, it
 forces interpretation of the time relative to
 Coordinated Universal Time (@sc{utc}), overriding any previous
 specification for the time zone or the local time zone.  For example,
 @samp{+0530} and @samp{+05:30} both stand for the time zone 5.5 hours
-ahead of @sc{utc} (e.g., India).  The @var{minute}
-part of the time of day may not be elided when a time zone correction
-is used.  This is the best way to specify a time zone correction by
-fractional parts of an hour.
+ahead of @sc{utc} (e.g., India).
+This is the best way to
+specify a time zone correction by fractional parts of an hour.
+The maximum zone correction is 24 hours.
 
 Either @samp{am}/@samp{pm} or a time zone correction may be specified,
 but not both.
index 580b5862a043fe0bb955c6f127491ed18fee56c8..eb2c3a098a5974f0dc0538df67e0b796f495d391 100644 (file)
@@ -1,4 +1,4 @@
-@set UPDATED 14 April 2008
-@set UPDATED-MONTH April 2008
-@set EDITION 1.20
-@set VERSION 1.20
+@set UPDATED 30 October 2008
+@set UPDATED-MONTH October 2008
+@set EDITION 1.21
+@set VERSION 1.21
index 542ce309bb872774ca594d1d34569f53a067ddd4..9f26ab47815d0096992bcee778c2dfa1d39c43ae 100644 (file)
@@ -1,6 +1,6 @@
-This is tar.info, produced by makeinfo version 4.8.90 from tar.texi.
+This is tar.info, produced by makeinfo version 4.13 from tar.texi.
 
-   This manual is for GNU `tar' (version 1.20, 14 April 2008), which
+This manual is for GNU `tar' (version 1.21, 30 October 2008), which
 creates and extracts files from archives.
 
    Copyright (C) 1992, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2003,
@@ -30,373 +30,376 @@ END-INFO-DIR-ENTRY
 
 \1f
 Indirect:
-tar.info-1: 1246
-tar.info-2: 303205
+tar.info-1: 1243
+tar.info-2: 300672
 \1f
 Tag Table:
 (Indirect)
-Node: Top\7f1246
-Node: Introduction\7f10511
-Node: Book Contents\7f11298
-Node: Definitions\7f13470
-Node: What tar Does\7f15273
-Node: Naming tar Archives\7f18039
-Node: Authors\7f18759
-Node: Reports\7f20572
-Node: Tutorial\7f20932
-Node: assumptions\7f21745
-Node: stylistic conventions\7f24220
-Node: basic tar options\7f24663
-Node: frequent operations\7f28301
-Node: Two Frequent Options\7f28953
-Node: file tutorial\7f29584
-Node: verbose tutorial\7f30945
-Ref: verbose member listing\7f33159
-Node: help tutorial\7f35912
-Node: create\7f36266
-Node: prepare for examples\7f37767
-Node: Creating the archive\7f39535
-Node: create verbose\7f42367
-Node: short create\7f43188
-Node: create dir\7f45941
-Node: list\7f48648
-Ref: listing member and file names\7f49922
-Node: list dir\7f52203
-Node: extract\7f53192
-Node: extracting archives\7f54369
-Node: extracting files\7f54859
-Ref: extracting files-Footnote-1\7f57506
-Node: extract dir\7f57886
-Node: extracting untrusted archives\7f60269
-Node: failing commands\7f61148
-Node: going further\7f62248
-Node: tar invocation\7f62461
-Node: Synopsis\7f63973
-Node: using tar options\7f68942
-Ref: TAR_OPTIONS\7f70527
-Node: Styles\7f71544
-Node: Long Options\7f73256
-Node: Short Options\7f75428
-Ref: Short Options-Footnote-1\7f77236
-Node: Old Options\7f77453
-Ref: Old Options-Footnote-1\7f80403
-Node: Mixing\7f80573
-Ref: Mixing-Footnote-1\7f82939
-Node: All Options\7f83059
-Node: Operation Summary\7f83664
-Ref: --append\7f83784
-Ref: --catenate\7f83864
-Ref: --compare\7f83935
-Ref: --concatenate\7f84138
-Ref: --create\7f84248
-Ref: --delete\7f84316
-Ref: --diff\7f84429
-Ref: --extract\7f84485
-Ref: --get\7f84587
-Ref: --list\7f84645
-Ref: --update\7f84713
-Node: Option Summary\7f84923
-Ref: --absolute-names\7f85078
-Ref: --after-date\7f85256
-Ref: --anchored\7f85308
-Ref: --atime-preserve\7f85441
-Ref: --auto-compress\7f87956
-Ref: --backup\7f88112
-Ref: --block-number\7f88303
-Ref: --blocking-factor\7f88477
-Ref: --bzip2\7f88629
-Ref: --check-device\7f88736
-Ref: --checkpoint\7f88931
-Ref: --checkpoint-action\7f89372
-Ref: --check-links\7f90523
-Ref: --compress\7f90800
-Ref: --uncompress\7f90800
-Ref: --confirmation\7f91004
-Ref: --delay-directory-restore\7f91072
-Ref: --dereference\7f91273
-Ref: --directory\7f91458
-Ref: --exclude\7f91711
-Ref: --exclude-from\7f91830
-Ref: --exclude-caches\7f91976
-Ref: --exclude-caches-under\7f92170
-Ref: --exclude-caches-all\7f92348
-Ref: --exclude-tag\7f92477
-Ref: --exclude-tag-under\7f92632
-Ref: --exclude-tag-all\7f92800
-Ref: --exclude-vcs\7f92914
-Ref: --file\7f93069
-Ref: --files-from\7f93269
-Ref: --force-local\7f93472
-Ref: --format\7f93663
-Ref: --group\7f94333
-Ref: --gzip\7f94681
-Ref: --gunzip\7f94681
-Ref: --ungzip\7f94681
-Ref: --hard-dereference\7f94904
-Ref: --help\7f95091
-Ref: --ignore-case\7f95225
-Ref: --ignore-command-error\7f95352
-Ref: --ignore-failed-read\7f95463
-Ref: --ignore-zeros\7f95593
-Ref: --incremental\7f95738
-Ref: --index-file\7f96003
-Ref: --info-script\7f96088
-Ref: --new-volume-script\7f96088
-Ref: --interactive\7f96409
-Ref: --keep-newer-files\7f96621
-Ref: --keep-old-files\7f96763
-Ref: --label\7f96894
-Ref: --listed-incremental\7f97182
-Ref: --lzma\7f97546
-Ref: --mode\7f97646
-Ref: --mtime\7f97937
-Ref: --multi-volume\7f98378
-Ref: --newer\7f98579
-Ref: --newer-mtime\7f98857
-Ref: --no-anchored\7f99081
-Ref: --no-check-device\7f99218
-Ref: --no-delay-directory-restore\7f99401
-Ref: --no-ignore-case\7f99654
-Ref: --no-ignore-command-error\7f99747
-Ref: --no-overwrite-dir\7f99902
-Ref: --no-quote-chars\7f100045
-Ref: --no-recursion\7f100226
-Ref: --no-same-owner\7f100331
-Ref: --no-same-permissions\7f100514
-Ref: --no-unquote\7f100716
-Ref: --no-wildcards\7f100854
-Ref: --no-wildcards-match-slash\7f100938
-Ref: --null\7f101040
-Ref: --numeric-owner\7f101268
-Ref: --occurrence\7f101919
-Ref: --old-archive\7f102486
-Ref: --one-file-system\7f102535
-Ref: --overwrite\7f102713
-Ref: --overwrite-dir\7f102855
-Ref: --owner\7f103000
-Ref: --pax-option\7f103379
-Ref: --portability\7f103678
-Ref: --posix\7f103743
-Ref: --preserve\7f103785
-Ref: --preserve-order\7f103923
-Ref: --preserve-permissions\7f103987
-Ref: --same-permissions\7f103987
-Ref: --quote-chars\7f104401
-Ref: --quoting-style\7f104554
-Ref: --read-full-records\7f104875
-Ref: --record-size\7f105040
-Ref: --recursion\7f105171
-Ref: --recursive-unlink\7f105274
-Ref: --remove-files\7f105441
-Ref: --restrict\7f105587
-Ref: --rmt-command\7f105775
-Ref: --rsh-command\7f105916
-Ref: --same-order\7f106038
-Ref: --same-owner\7f106330
-Ref: --seek\7f106707
-Ref: --show-defaults\7f106964
-Ref: --show-omitted-dirs\7f107332
-Ref: --show-transformed-names\7f107486
-Ref: --show-stored-names\7f107486
-Ref: --sparse\7f107875
-Ref: --sparse-version\7f108014
-Ref: --starting-file\7f108238
-Ref: --strip-components\7f108427
-Ref: --suffix\7f108739
-Ref: --tape-length\7f108874
-Ref: --test-label\7f109029
-Ref: --to-command\7f109181
-Ref: --to-stdout\7f109340
-Ref: --totals\7f109493
-Ref: --touch\7f109724
-Ref: --transform\7f109926
-Ref: --unlink-first\7f110518
-Ref: --unquote\7f110686
-Ref: --use-compress-program\7f110793
-Ref: --utc\7f110961
-Ref: --verbose\7f111054
-Ref: --verify\7f111306
-Ref: --version\7f111424
-Ref: --volno-file\7f111596
-Ref: --wildcards\7f111783
-Ref: --wildcards-match-slash\7f111903
-Ref: Option Summary-Footnote-1\7f112031
-Node: Short Option Summary\7f112249
-Node: help\7f114420
-Ref: help-Footnote-1\7f118250
-Node: defaults\7f118460
-Node: verbose\7f119477
-Ref: totals\7f121778
-Ref: Progress information\7f123368
-Ref: show-omitted-dirs\7f124347
-Ref: block-number\7f124766
-Ref: verbose-Footnote-1\7f125793
-Node: checkpoints\7f125900
-Node: interactive\7f131291
-Node: operations\7f133374
-Node: Basic tar\7f133633
-Ref: Basic tar-Footnote-1\7f136737
-Node: Advanced tar\7f136881
-Node: Operations\7f137726
-Node: append\7f139696
-Ref: append-Footnote-1\7f142861
-Node: appending files\7f143027
-Node: multiple\7f144808
-Node: update\7f147498
-Node: how to update\7f148537
-Node: concatenate\7f150320
-Ref: concatenate-Footnote-1\7f153569
-Node: delete\7f153707
-Node: compare\7f155550
-Node: create options\7f157040
-Node: override\7f157498
-Node: Ignore Failed Read\7f160936
-Node: extract options\7f161156
-Node: Reading\7f162052
-Node: read full records\7f163615
-Node: Ignore Zeros\7f163951
-Node: Writing\7f164942
-Node: Dealing with Old Files\7f165499
-Node: Overwrite Old Files\7f167926
-Node: Keep Old Files\7f169383
-Node: Keep Newer Files\7f169893
-Node: Unlink First\7f170183
-Node: Recursive Unlink\7f170587
-Node: Data Modification Times\7f171140
-Node: Setting Access Permissions\7f171950
-Node: Directory Modification Times and Permissions\7f172582
-Node: Writing to Standard Output\7f176188
-Node: Writing to an External Program\7f177723
-Node: remove files\7f180460
-Node: Scarce\7f180653
-Node: Starting File\7f180901
-Node: Same Order\7f181721
-Node: backup\7f182557
-Node: Applications\7f185781
-Node: looking ahead\7f187294
-Node: Backups\7f188120
-Node: Full Dumps\7f189952
-Node: Incremental Dumps\7f191758
-Ref: device numbers\7f194894
-Ref: incremental-op\7f198876
-Ref: Incremental Dumps-Footnote-1\7f199250
-Ref: Incremental Dumps-Footnote-2\7f199400
-Node: Backup Levels\7f199887
-Node: Backup Parameters\7f202274
-Node: General-Purpose Variables\7f203455
-Ref: RSH\7f206612
-Node: Magnetic Tape Control\7f208491
-Node: User Hooks\7f209828
-Node: backup-specs example\7f211156
-Node: Scripted Backups\7f212299
-Ref: Scripted Backups-Footnote-1\7f215161
-Node: Scripted Restoration\7f215545
-Node: Choosing\7f218153
-Node: file\7f219338
-Ref: remote-dev\7f222037
-Ref: local and remote archives\7f222429
-Node: Selecting Archive Members\7f223459
-Ref: input name quoting\7f224140
-Node: files\7f226126
-Ref: files-Footnote-1\7f229400
-Node: nul\7f229558
-Node: exclude\7f230855
-Node: problems with exclude\7f235619
-Node: wildcards\7f237664
-Node: controlling pattern-matching\7f240248
-Ref: controlling pattern-matching-Footnote-1\7f244238
-Node: quoting styles\7f244454
-Ref: escape sequences\7f244800
-Node: transform\7f250936
-Ref: show-transformed-names\7f252926
-Node: after\7f256915
-Node: recurse\7f260580
-Node: one\7f263349
-Node: directory\7f264845
-Node: absolute\7f267918
-Ref: absolute-Footnote-1\7f271108
-Node: Date input formats\7f271459
-Node: General date syntax\7f273775
-Node: Calendar date items\7f276726
-Node: Time of day items\7f278723
-Node: Time zone items\7f280839
-Node: Day of week items\7f282073
-Node: Relative items in date strings\7f283062
-Node: Pure numbers in date strings\7f285864
-Node: Seconds since the Epoch\7f286845
-Node: Specifying time zone rules\7f288466
-Node: Authors of get_date\7f290830
-Node: Formats\7f291582
-Node: Compression\7f296270
-Node: gzip\7f296562
-Ref: auto-compress\7f299320
-Ref: gzip-Footnote-1\7f303156
-Node: sparse\7f303205
-Node: Attributes\7f306259
-Node: Portability\7f312230
-Node: Portable Names\7f313716
-Node: dereference\7f314421
-Node: hard links\7f315822
-Ref: hard links-Footnote-1\7f318780
-Node: old\7f318836
-Node: ustar\7f320020
-Node: gnu\7f320611
-Node: posix\7f321488
-Node: PAX keywords\7f321969
-Node: Checksumming\7f326297
-Node: Large or Negative Values\7f328221
-Node: Other Tars\7f329821
-Node: Split Recovery\7f330957
-Node: Sparse Recovery\7f334689
-Ref: extracting sparse v.0.x\7f338322
-Ref: Sparse Recovery-Footnote-1\7f341611
-Ref: Sparse Recovery-Footnote-2\7f341634
-Node: cpio\7f341755
-Node: Media\7f346511
-Node: Device\7f348441
-Node: Remote Tape Server\7f353509
-Node: Common Problems and Solutions\7f357239
-Node: Blocking\7f357631
-Node: Format Variations\7f364138
-Node: Blocking Factor\7f365050
-Node: Many\7f376704
-Node: Tape Positioning\7f380498
-Node: mt\7f382371
-Node: Using Multiple Tapes\7f383926
-Node: Multi-Volume Archives\7f385992
-Ref: tape-length\7f387477
-Ref: change volume prompt\7f387781
-Ref: volno-file\7f388651
-Ref: info-script\7f389203
-Ref: Multi-Volume Archives-Footnote-1\7f394387
-Ref: Multi-Volume Archives-Footnote-2\7f394497
-Node: Tape Files\7f394564
-Node: Tarcat\7f396048
-Node: label\7f397093
-Ref: --test-label option\7f398722
-Ref: label-Footnote-1\7f401767
-Node: verify\7f402002
-Node: Write Protection\7f405302
-Node: Changes\7f406132
-Node: Configuring Help Summary\7f409717
-Node: Fixing Snapshot Files\7f416220
-Node: Tar Internals\7f418405
-Node: Standard\7f418737
-Node: Extensions\7f440938
-Node: Sparse Formats\7f443498
-Node: Old GNU Format\7f444788
-Node: PAX 0\7f447199
-Node: PAX 1\7f450326
-Node: Snapshot Files\7f452060
-Node: Dumpdir\7f456513
-Node: Genfile\7f459759
-Node: Generate Mode\7f460852
-Node: Status Mode\7f465149
-Node: Exec Mode\7f466948
-Node: Free Software Needs Free Documentation\7f469184
-Node: Copying This Manual\7f474155
-Node: GNU Free Documentation License\7f474437
-Node: Index of Command Line Options\7f496844
-Node: Index\7f520649
+Node: Top\7f1243
+Node: Introduction\7f10510
+Node: Book Contents\7f11297
+Node: Definitions\7f13469
+Node: What tar Does\7f15272
+Node: Naming tar Archives\7f18038
+Node: Authors\7f18758
+Node: Reports\7f20571
+Node: Tutorial\7f20931
+Node: assumptions\7f21744
+Node: stylistic conventions\7f24219
+Node: basic tar options\7f24662
+Node: frequent operations\7f28300
+Node: Two Frequent Options\7f28952
+Node: file tutorial\7f29583
+Node: verbose tutorial\7f30944
+Ref: verbose member listing\7f33158
+Node: help tutorial\7f35911
+Node: create\7f36265
+Node: prepare for examples\7f37766
+Node: Creating the archive\7f39534
+Node: create verbose\7f42366
+Node: short create\7f43187
+Node: create dir\7f45940
+Node: list\7f48647
+Ref: listing member and file names\7f49921
+Node: list dir\7f52202
+Node: extract\7f53191
+Node: extracting archives\7f54368
+Node: extracting files\7f54858
+Ref: extracting files-Footnote-1\7f57505
+Node: extract dir\7f57885
+Node: extracting untrusted archives\7f60268
+Node: failing commands\7f61147
+Node: going further\7f62247
+Node: tar invocation\7f62460
+Node: Synopsis\7f63972
+Node: using tar options\7f68941
+Ref: TAR_OPTIONS\7f70526
+Node: Styles\7f71543
+Node: Long Options\7f73255
+Node: Short Options\7f75427
+Ref: Short Options-Footnote-1\7f77235
+Node: Old Options\7f77452
+Ref: Old Options-Footnote-1\7f80402
+Node: Mixing\7f80572
+Ref: Mixing-Footnote-1\7f82938
+Node: All Options\7f83058
+Node: Operation Summary\7f83663
+Ref: --append\7f83783
+Ref: --catenate\7f83863
+Ref: --compare\7f83934
+Ref: --concatenate\7f84137
+Ref: --create\7f84247
+Ref: --delete\7f84315
+Ref: --diff\7f84428
+Ref: --extract\7f84484
+Ref: --get\7f84586
+Ref: --list\7f84644
+Ref: --update\7f84712
+Node: Option Summary\7f84922
+Ref: --absolute-names\7f85077
+Ref: --after-date\7f85255
+Ref: --anchored\7f85307
+Ref: --atime-preserve\7f85440
+Ref: --auto-compress\7f87955
+Ref: --backup\7f88182
+Ref: --block-number\7f88373
+Ref: --blocking-factor\7f88547
+Ref: --bzip2\7f88699
+Ref: --check-device\7f88806
+Ref: --checkpoint\7f89001
+Ref: --checkpoint-action\7f89442
+Ref: --check-links\7f90593
+Ref: --compress\7f90870
+Ref: --uncompress\7f90870
+Ref: --confirmation\7f91074
+Ref: --delay-directory-restore\7f91142
+Ref: --dereference\7f91343
+Ref: --directory\7f91528
+Ref: --exclude\7f91781
+Ref: --exclude-from\7f91900
+Ref: --exclude-caches\7f92046
+Ref: --exclude-caches-under\7f92240
+Ref: --exclude-caches-all\7f92418
+Ref: --exclude-tag\7f92547
+Ref: --exclude-tag-under\7f92702
+Ref: --exclude-tag-all\7f92870
+Ref: --exclude-vcs\7f92984
+Ref: --file\7f93139
+Ref: --files-from\7f93339
+Ref: --force-local\7f93542
+Ref: --format\7f93733
+Ref: --group\7f94403
+Ref: --gzip\7f94751
+Ref: --gunzip\7f94751
+Ref: --ungzip\7f94751
+Ref: --hard-dereference\7f94974
+Ref: --help\7f95161
+Ref: --ignore-case\7f95295
+Ref: --ignore-command-error\7f95422
+Ref: --ignore-failed-read\7f95533
+Ref: --ignore-zeros\7f95663
+Ref: --incremental\7f95808
+Ref: --index-file\7f96073
+Ref: --info-script\7f96158
+Ref: --new-volume-script\7f96158
+Ref: --interactive\7f96479
+Ref: --keep-newer-files\7f96691
+Ref: --keep-old-files\7f96833
+Ref: --label\7f96964
+Ref: --listed-incremental\7f97252
+Ref: --lzma\7f97616
+Ref: --mode\7f97821
+Ref: --mtime\7f98112
+Ref: --multi-volume\7f98553
+Ref: --newer\7f98754
+Ref: --newer-mtime\7f99032
+Ref: --no-anchored\7f99256
+Ref: --no-auto-compress\7f99393
+Ref: --no-check-device\7f99544
+Ref: --no-delay-directory-restore\7f99727
+Ref: --no-ignore-case\7f99980
+Ref: --no-ignore-command-error\7f100073
+Ref: --no-null\7f100228
+Ref: --no-overwrite-dir\7f100433
+Ref: --no-quote-chars\7f100576
+Ref: --no-recursion\7f100757
+Ref: --no-same-owner\7f100862
+Ref: --no-same-permissions\7f101045
+Ref: --no-unquote\7f101247
+Ref: --no-wildcards\7f101385
+Ref: --no-wildcards-match-slash\7f101469
+Ref: --null\7f101571
+Ref: --numeric-owner\7f101799
+Ref: --occurrence\7f102450
+Ref: --old-archive\7f103017
+Ref: --one-file-system\7f103066
+Ref: --overwrite\7f103244
+Ref: --overwrite-dir\7f103386
+Ref: --owner\7f103531
+Ref: --pax-option\7f103910
+Ref: --portability\7f104209
+Ref: --posix\7f104274
+Ref: --preserve\7f104316
+Ref: --preserve-order\7f104454
+Ref: --preserve-permissions\7f104518
+Ref: --same-permissions\7f104518
+Ref: --quote-chars\7f104932
+Ref: --quoting-style\7f105085
+Ref: --read-full-records\7f105406
+Ref: --record-size\7f105571
+Ref: --recursion\7f105702
+Ref: --recursive-unlink\7f105805
+Ref: --remove-files\7f105972
+Ref: --restrict\7f106118
+Ref: --rmt-command\7f106306
+Ref: --rsh-command\7f106447
+Ref: --same-order\7f106569
+Ref: --same-owner\7f106861
+Ref: --seek\7f107238
+Ref: --show-defaults\7f107495
+Ref: --show-omitted-dirs\7f107863
+Ref: --show-transformed-names\7f108017
+Ref: --show-stored-names\7f108017
+Ref: --sparse\7f108406
+Ref: --sparse-version\7f108545
+Ref: --starting-file\7f108769
+Ref: --strip-components\7f108958
+Ref: --suffix\7f109270
+Ref: --tape-length\7f109405
+Ref: --test-label\7f109560
+Ref: --to-command\7f109712
+Ref: --to-stdout\7f109871
+Ref: --totals\7f110024
+Ref: --touch\7f110255
+Ref: --transform\7f110457
+Ref: --xform\7f110457
+Ref: --unlink-first\7f111068
+Ref: --unquote\7f111236
+Ref: --use-compress-program\7f111343
+Ref: --utc\7f111511
+Ref: --verbose\7f111604
+Ref: --verify\7f111856
+Ref: --version\7f111974
+Ref: --volno-file\7f112146
+Ref: --wildcards\7f112333
+Ref: --wildcards-match-slash\7f112453
+Ref: Option Summary-Footnote-1\7f112581
+Node: Short Option Summary\7f112799
+Node: help\7f115002
+Ref: help-Footnote-1\7f118832
+Node: defaults\7f119042
+Node: verbose\7f120059
+Ref: totals\7f122360
+Ref: Progress information\7f123950
+Ref: show-omitted-dirs\7f124929
+Ref: block-number\7f125348
+Ref: verbose-Footnote-1\7f126375
+Node: checkpoints\7f126482
+Node: interactive\7f131879
+Node: operations\7f133962
+Node: Basic tar\7f134221
+Ref: Basic tar-Footnote-1\7f137325
+Node: Advanced tar\7f137469
+Node: Operations\7f138314
+Node: append\7f140284
+Ref: append-Footnote-1\7f143449
+Node: appending files\7f143615
+Node: multiple\7f145396
+Node: update\7f148086
+Node: how to update\7f149125
+Node: concatenate\7f150908
+Ref: concatenate-Footnote-1\7f154157
+Node: delete\7f154295
+Node: compare\7f156138
+Node: create options\7f157628
+Node: override\7f158086
+Node: Ignore Failed Read\7f161524
+Node: extract options\7f161744
+Node: Reading\7f162640
+Node: read full records\7f164203
+Node: Ignore Zeros\7f164539
+Node: Writing\7f165530
+Node: Dealing with Old Files\7f166087
+Node: Overwrite Old Files\7f168514
+Node: Keep Old Files\7f169971
+Node: Keep Newer Files\7f170481
+Node: Unlink First\7f170771
+Node: Recursive Unlink\7f171175
+Node: Data Modification Times\7f171728
+Node: Setting Access Permissions\7f172538
+Node: Directory Modification Times and Permissions\7f173170
+Node: Writing to Standard Output\7f176776
+Node: Writing to an External Program\7f178311
+Node: remove files\7f181048
+Node: Scarce\7f181241
+Node: Starting File\7f181489
+Node: Same Order\7f182309
+Node: backup\7f183145
+Node: Applications\7f186369
+Node: looking ahead\7f187882
+Node: Backups\7f188708
+Node: Full Dumps\7f190540
+Node: Incremental Dumps\7f192346
+Ref: device numbers\7f195482
+Ref: incremental-op\7f199464
+Ref: Incremental Dumps-Footnote-1\7f199838
+Ref: Incremental Dumps-Footnote-2\7f199988
+Node: Backup Levels\7f200475
+Node: Backup Parameters\7f202862
+Node: General-Purpose Variables\7f204043
+Ref: RSH\7f207200
+Node: Magnetic Tape Control\7f209079
+Node: User Hooks\7f210416
+Node: backup-specs example\7f211744
+Node: Scripted Backups\7f212887
+Ref: Scripted Backups-Footnote-1\7f215749
+Node: Scripted Restoration\7f216133
+Node: Choosing\7f218741
+Node: file\7f219926
+Ref: remote-dev\7f222625
+Ref: local and remote archives\7f223017
+Node: Selecting Archive Members\7f224047
+Ref: input name quoting\7f224728
+Node: files\7f226714
+Ref: files-Footnote-1\7f229988
+Node: nul\7f230146
+Node: exclude\7f232545
+Node: problems with exclude\7f237507
+Node: wildcards\7f239552
+Node: controlling pattern-matching\7f242136
+Ref: controlling pattern-matching-Footnote-1\7f246126
+Node: quoting styles\7f246342
+Ref: escape sequences\7f246688
+Node: transform\7f252823
+Ref: show-transformed-names\7f254812
+Node: after\7f261001
+Node: recurse\7f264666
+Node: one\7f267435
+Node: directory\7f268931
+Node: absolute\7f272004
+Ref: absolute-Footnote-1\7f275138
+Node: Date input formats\7f275489
+Node: General date syntax\7f277805
+Node: Calendar date items\7f280756
+Node: Time of day items\7f282753
+Node: Time zone items\7f284949
+Node: Day of week items\7f286183
+Node: Relative items in date strings\7f287172
+Node: Pure numbers in date strings\7f289974
+Node: Seconds since the Epoch\7f290955
+Node: Specifying time zone rules\7f292576
+Node: Authors of get_date\7f294940
+Node: Formats\7f295692
+Node: Compression\7f300380
+Node: gzip\7f300672
+Ref: auto-compress\7f303802
+Ref: gzip-Footnote-1\7f307753
+Node: sparse\7f307802
+Node: Attributes\7f310856
+Node: Portability\7f316827
+Node: Portable Names\7f318313
+Node: dereference\7f319018
+Node: hard links\7f320419
+Ref: hard links-Footnote-1\7f323377
+Node: old\7f323433
+Node: ustar\7f324617
+Node: gnu\7f325208
+Node: posix\7f326085
+Node: PAX keywords\7f326566
+Node: Checksumming\7f330894
+Node: Large or Negative Values\7f332818
+Node: Other Tars\7f334418
+Node: Split Recovery\7f335554
+Node: Sparse Recovery\7f339286
+Ref: extracting sparse v.0.x\7f342919
+Ref: Sparse Recovery-Footnote-1\7f346208
+Ref: Sparse Recovery-Footnote-2\7f346231
+Node: cpio\7f346352
+Node: Media\7f351108
+Node: Device\7f353038
+Node: Remote Tape Server\7f358106
+Node: Common Problems and Solutions\7f361836
+Node: Blocking\7f362228
+Node: Format Variations\7f368735
+Node: Blocking Factor\7f369647
+Node: Many\7f381301
+Node: Tape Positioning\7f385095
+Node: mt\7f386968
+Node: Using Multiple Tapes\7f388523
+Node: Multi-Volume Archives\7f390589
+Ref: tape-length\7f392074
+Ref: change volume prompt\7f392378
+Ref: volno-file\7f393248
+Ref: info-script\7f393800
+Ref: Multi-Volume Archives-Footnote-1\7f398984
+Ref: Multi-Volume Archives-Footnote-2\7f399094
+Node: Tape Files\7f399161
+Node: Tarcat\7f400644
+Node: label\7f401689
+Ref: --test-label option\7f403318
+Ref: label-Footnote-1\7f406363
+Node: verify\7f406598
+Node: Write Protection\7f409898
+Node: Changes\7f410728
+Node: Configuring Help Summary\7f414313
+Node: Fixing Snapshot Files\7f420814
+Node: Tar Internals\7f422999
+Node: Standard\7f423331
+Node: Extensions\7f445532
+Node: Sparse Formats\7f448092
+Node: Old GNU Format\7f449382
+Node: PAX 0\7f451793
+Node: PAX 1\7f454920
+Node: Snapshot Files\7f456654
+Node: Dumpdir\7f461107
+Node: Genfile\7f464353
+Node: Generate Mode\7f465446
+Node: Status Mode\7f469743
+Node: Exec Mode\7f471542
+Node: Free Software Needs Free Documentation\7f473778
+Node: Copying This Manual\7f478749
+Node: GNU Free Documentation License\7f479031
+Node: Index of Command Line Options\7f501438
+Node: Index\7f525681
 \1f
 End Tag Table
index 67f9cf95981fe43fbcf3cfc607c01ba5148f417b..891413b6ef970290f4e21c5d624dbf36e48a9f0e 100644 (file)
@@ -1,6 +1,6 @@
-This is tar.info, produced by makeinfo version 4.8.90 from tar.texi.
+This is tar.info, produced by makeinfo version 4.13 from tar.texi.
 
-   This manual is for GNU `tar' (version 1.20, 14 April 2008), which
+This manual is for GNU `tar' (version 1.21, 30 October 2008), which
 creates and extracts files from archives.
 
    Copyright (C) 1992, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2003,
@@ -34,7 +34,7 @@ File: tar.info,  Node: Top,  Next: Introduction,  Up: (dir)
 GNU tar: an archiver tool
 *************************
 
-This manual is for GNU `tar' (version 1.20, 14 April 2008), which
+This manual is for GNU `tar' (version 1.21, 30 October 2008), which
 creates and extracts files from archives.
 
    Copyright (C) 1992, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2003,
@@ -561,7 +561,7 @@ in version 1.11.  Thomas Bushnell, n/BSG and Amy Gorin worked on a
 tutorial and manual for GNU `tar'.  Franc,ois Pinard put version 1.11.8
 of the manual together by taking information from all these sources and
 merging them.  Melissa Weisshaus finally edited and redesigned the book
-to create version 1.12.  The book for versions from 1.14 up to 1.20
+to create version 1.12.  The book for versions from 1.14 up to 1.21
 were edited by the current maintainer, Sergey Poznyakoff.
 
    For version 1.12, Daniel Hagerty contributed a great deal of
@@ -2203,7 +2203,8 @@ File: tar.info,  Node: Option Summary,  Next: Short Option Summary,  Prev: Opera
 `--auto-compress'
 `-a'
      During a `--create' operation, enables automatic compressed format
-     recognition based on the archive suffix. *Note gzip::.
+     recognition based on the archive suffix.  The effect of this
+     option is cancelled by `--no-auto-compress'.  *Note gzip::.
 
 `--backup=BACKUP-TYPE'
      Rather than deleting files from the file system, `tar' will back
@@ -2494,9 +2495,14 @@ File: tar.info,  Node: Option Summary,  Next: Short Option Summary,  Prev: Opera
      format.  *Note Incremental Dumps::.
 
 `--lzma'
+`-J'
      This option tells `tar' to read or write archives through `lzma'.
      *Note gzip::.
 
+`--lzop'
+     This option tells `tar' to read or write archives through `lzop'.
+     *Note gzip::.
+
 `--mode=PERMISSIONS'
      When adding files to an archive, `tar' will use PERMISSIONS for
      the archive members, rather than the permissions from the files.
@@ -2537,6 +2543,10 @@ File: tar.info,  Node: Option Summary,  Next: Short Option Summary,  Prev: Opera
      An exclude pattern can match any subsequence of the name's
      components.  *Note controlling pattern-matching::.
 
+`--no-auto-compress'
+     Disables automatic compressed format recognition based on the
+     archive suffix.  *Note --auto-compress::.  *Note gzip::.
+
 `--no-check-device'
      Do not check device numbers when creating a list of modified files
      for incremental archiving.  *Note device numbers::, for a detailed
@@ -2555,6 +2565,11 @@ File: tar.info,  Node: Option Summary,  Next: Short Option Summary,  Prev: Opera
      Print warnings about subprocesses that terminated with a nonzero
      exit code. *Note Writing to an External Program::.
 
+`--no-null'
+     If the `--null' option was given previously, this option cancels
+     its effect, so that any following `--files-from' options will
+     expect their file lists to be newline-terminated.
+
 `--no-overwrite-dir'
      Preserve metadata of existing directories when extracting files
      from an archive.  *Note Overwrite Old Files::.
@@ -2833,6 +2848,7 @@ File: tar.info,  Node: Option Summary,  Next: Short Option Summary,  Prev: Opera
      the archive.  *Note Data Modification Times::.
 
 `--transform=SED-EXPR'
+`--xform=SED-EXPR'
      Transform file or member names using `sed' replacement expression
      SED-EXPR.  For example,
 
@@ -2921,6 +2937,7 @@ Short Option   Reference
 -C             *note --directory::.
 -F             *note --info-script::.
 -G             *note --incremental::.
+-J             *note --lzma::.
 -K             *note --starting-file::.
 -L             *note --tape-length::.
 -M             *note --multi-volume::.
@@ -2949,7 +2966,7 @@ Short Option   Reference
 -o             When creating, *note --no-same-owner::, when extracting --
                *note --portability::.
                
-                  The later usage is deprecated.  It is retained for
+                  The latter usage is deprecated.  It is retained for
                compatibility with the earlier versions of GNU `tar'.  In
                future releases `-o' will be equivalent to
                `--no-same-owner' only.
@@ -2975,7 +2992,7 @@ information about its name, version, origin and legal status, all on
 standard output, and then exit successfully.  For example,
 `tar --version' might print:
 
-     tar (GNU tar) 1.20
+     tar (GNU tar) 1.21
      Copyright (C) 2008 Free Software Foundation, Inc.
      This is free software.  You may redistribute copies of it under the terms
      of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
@@ -3322,13 +3339,13 @@ environment plus the following variables:
      The name of the archive `tar' is processing.
 
 `TAR_BLOCKING_FACTOR'
-     Current blocking factor (*note Blocking::.
+     Current blocking factor (*note Blocking::).
 
 `TAR_CHECKPOINT'
-     The checkpoint number.
+     Number of the checkpoint.
 
 `TAR_SUBCOMMAND'
-     A short option describing the operation `tar' is executing *Note
+     A short option describing the operation `tar' is executing *Note
      Operations::, for a complete list of subcommand options.
 
 `TAR_FORMAT'
@@ -3422,8 +3439,8 @@ complementary notes for these operations.
      can initialize an empty archive and later use `--append' (`-r')
      for adding all members.  Some applications would not welcome
      making an exception in the way of adding the first archive member.
-     On the other hand, many people reported that it is dangerously
-     too easy for `tar' to destroy a magnetic tape with an empty
+     On the other hand, many people reported that it is dangerously too
+     easy for `tar' to destroy a magnetic tape with an empty
      archive(1).  The two most common errors are:
 
        1. Mistakingly using `create' instead of `extract', when the
@@ -4660,9 +4677,9 @@ character device, or when it refers to a remote file.
 
    For the sake of simplicity and efficiency, backups are made by
 renaming old files prior to creation or extraction, and not by copying.
-The original name is restored if the file creation fails.  If a
-failure occurs after a partial extraction of a file, both the backup
-and the partially extracted file are kept.
+The original name is restored if the file creation fails.  If a failure
+occurs after a partial extraction of a file, both the backup and the
+partially extracted file are kept.
 
 `--backup[=METHOD]'
      Back up files that are about to be overwritten or removed.
@@ -5535,10 +5552,10 @@ File: tar.info,  Node: Choosing,  Next: Date input formats,  Prev: Backups,  Up:
      _(This message will disappear, once this node revised.)_
 
 Certain options to `tar' enable you to specify a name for your archive.
-Other options let you decide which files to include or exclude from
-the archive, based on when or whether files were modified, whether the
-file names do or don't match specified patterns, or whether files are
-in specified directories.
+Other options let you decide which files to include or exclude from the
+archive, based on when or whether files were modified, whether the file
+names do or don't match specified patterns, or whether files are in
+specified directories.
 
    This chapter discusses these options in detail.
 
@@ -5830,6 +5847,9 @@ newline, so files whose names contain newlines can be archived using
      Only consider `NUL' terminated file names, instead of files that
      terminate in a newline.
 
+`--no-null'
+     Undo the effect of any previous `--null' option.
+
    The `--null' option is just like the one in GNU `xargs' and `cpio',
 and is useful with the `-print0' predicate of GNU `find'.  In `tar',
 `--null' also disables special handling for file names that begin with
@@ -5847,6 +5867,30 @@ create the archive `big.tgz'.  The `--null' option to `tar' will cause
      $ find .  -size +800 -print0 > long-files
      $ tar -c -v --null --files-from=long-files --file=big.tar
 
+   The `--no-null' option can be used if you need to read both
+zero-terminated and newline-terminated files on the same command line.
+For example, if `flist' is a newline-terminated file, then the
+following command can be used to combine it with the above command:
+
+     $ find .  -size +800 -print0 |
+       tar -c -f big.tar --null -T - --no-null -T flist
+
+   This example uses short options for typographic reasons, to avoid
+very long lines.
+
+   GNU `tar' is able to automatically detect null-terminated file
+lists, so it is safe to use them even without the `--null' option.  In
+this case `tar' will print a warning and continue reading such a file
+as if `--null' were actually given:
+
+     $ find .  -size +800 -print0 | tar -c -f big.tar -T -
+     tar: -: file name read contains nul character
+
+   The null terminator, however, remains in effect only for this
+particular file, any following `-T' options will assume newline
+termination.  Of course, the null autodetection applies to these
+eventual surplus `-T' options as well.
+
 \1f
 File: tar.info,  Node: exclude,  Next: wildcards,  Prev: files,  Up: Choosing
 
@@ -5887,9 +5931,11 @@ difficult to catch using text editors.
    However, empty lines are OK.
 
 `--exclude-vcs'
-     Exclude files and directories used by some version control systems.
+     Exclude files and directories used by following version control
+     systems: `CVS', `RCS', `SCCS', `SVN', `Arch', `Bazaar',
+     `Mercurial', and `Darcs'.
 
-   As of version 1.20, the following files are excluded:
+   As of version 1.21, the following files are excluded:
 
    * `CVS/', and everything under it
 
@@ -5915,6 +5961,20 @@ difficult to catch using text editors.
 
    * `=update'
 
+   * `.bzr'
+
+   * `.bzrignore'
+
+   * `.bzrtags'
+
+   * `.hg'
+
+   * `.hgignore'
+
+   * `.hgrags'
+
+   * `_darcs'
+
    When creating an archive, the `--exclude-caches' option family
 causes `tar' to exclude all directories that contain a "cache directory
 tag". A cache directory tag is a short file with the well-known name
@@ -6242,7 +6302,6 @@ caused by certain characters.  This is called "name quoting".  The
 characters in question are:
 
    * Non-printable control characters:
-
      Character     ASCII   Character name
      --------------------------------------------------------------- 
      \a            7       Audible bell
@@ -6452,11 +6511,11 @@ File: tar.info,  Node: transform,  Next: after,  Prev: quoting styles,  Up: Choo
 
 `Tar' archives contain detailed information about files stored in them
 and full file names are part of that information.  When storing file to
-an archive, its file name is recorded in the archive along with the
-actual file contents.  When restoring from an archive, a file is
-created on disk with exactly the same name as that stored in the
-archive.  In the majority of cases this is the desired behavior of a
-file archiver.  However, there are some cases when it is not.
+an archive, its file name is recorded in it, along with the actual file
+contents.  When restoring from an archive, a file is created on disk
+with exactly the same name as that stored in the archive.  In the
+majority of cases this is the desired behavior of a file archiver.
+However, there are some cases when it is not.
 
    First of all, it is often unsafe to extract archive members with
 absolute file names or those that begin with a `../'.  GNU `tar' takes
@@ -6467,7 +6526,7 @@ option for handling them, which is described in *note absolute::.
 directory components, or with otherwise modified names.  In other cases
 it is desirable to store files under differing names in the archive.
 
-   GNU `tar' provides two options for these needs.
+   GNU `tar' provides several options for these needs.
 
 `--strip-components=NUMBER'
      Strip given NUMBER of leading components from file names before
@@ -6483,9 +6542,9 @@ working directory.  To do so, you type:
    The option `--strip=2' instructs `tar' to strip the two leading
 components (`usr/' and `include/') off the file name.
 
-   If you add to the above invocation `--verbose' (`-v') option, you
-will note that the verbose listing still contains the full file name,
-with the two removed components still in place.  This can be
+   If you add the `--verbose' (`-v') option to the invocation above,
+you will note that the verbose listing still contains the full file
+name, with the two removed components still in place.  This can be
 inconvenient, so `tar' provides a special option for altering this
 behavior:
 
@@ -6500,7 +6559,7 @@ For example:
      $ tar -xf usr.tar -v --strip=2 --show-transformed usr/include/stdlib.h
      stdlib.h
 
-   Notice that in both cases the file is `stdlib.h' extracted to the
+   Notice that in both cases the file `stdlib.h' is extracted to the
 current working directory, `--show-transformed-names' affects only the
 way its name is displayed.
 
@@ -6519,6 +6578,7 @@ to make sure the command will produce the intended results.
 name, GNU `tar' provides a general-purpose transformation option:
 
 `--transform=EXPRESSION'
+`--xform=EXPRESSION'
      Modify file names using supplied EXPRESSION.
 
 The EXPRESSION is a `sed'-like replace expression of the form:
@@ -6529,6 +6589,16 @@ where REGEXP is a "regular expression", REPLACE is a replacement for
 each file name part that matches REGEXP.  Both REGEXP and REPLACE are
 described in detail in *note The "s" Command: (sed)The "s" Command.
 
+   Any delimiter can be used in lieue of `/', the only requirement being
+that it be used consistently throughout the expression. For example,
+the following two expressions are equivalent:
+
+     s/one/two/
+     s,one,two,
+
+   Changing delimiters is often useful when the REGEX contains slashes.
+For example, it is more convenient to write `s,/,-,' than `s/\//-/'.
+
    As in `sed', you can give several replace expressions, separated by
 a semicolon.
 
@@ -6555,15 +6625,36 @@ a semicolon.
      replace all matches from the NUMBERth on.
 
 
-   Any delimiter can be used in lieue of `/', the only requirement being
-that it be used consistently throughout the expression. For example,
-the following two expressions are equivalent:
+   In addition, several "transformation scope" flags are supported,
+that control to what files transformations apply.  These are:
 
-     s/one/two/
-     s,one,two,
+`r'
+     Apply transformation to regular archive members.
 
-   Changing delimiters is often useful when the REGEX contains slashes.
-For example, it is more convenient to write `s,/,-,' than `s/\//-/'.
+`R'
+     Do not apply transformation to regular archive members.
+
+`s'
+     Apply transformation to symbolic link targets.
+
+`S'
+     Do not apply transformation to symbolic link targets.
+
+`h'
+     Apply transformation to hard link targets.
+
+`H'
+     Do not apply transformation to hard link targets.
+
+   Default is `rsh', which means to apply tranformations to both archive
+members and targets of symbolic and hard links.
+
+   Default scope flags can also be changed using `flags=' statement in
+the transform expression.  The flags set this way remain in force until
+next `flags=' statement or end of expression, whichever occurs first.
+For example:
+
+       --transform 'flags=S;s|^|/usr/local/|'
 
    Here are several examples of `--transform' usage:
 
@@ -6576,14 +6667,45 @@ For example, it is more convenient to write `s,/,-,' than `s/\//-/'.
 
           $ tar --transform='s,/*[^/]*/[^/]*/,,' -x -f arch.tar
 
-  3. Prepend `/prefix/'  to each file name:
+  3. Convert each file name to lower case:
+
+          $ tar --transform 's/.*/\L&/' -x -f arch.tar
+
+  4. Prepend `/prefix/'  to each file name:
 
           $ tar --transform 's,^,/prefix/,' -x -f arch.tar
 
-  4. Convert each file name to lower case:
+  5. Archive the `/lib' directory, prepending `/usr/local' to each
+     archive member:
 
-          $ tar --transform 's/.*/\L&/' -x -f arch.tar
+          $ tar --transform 's,^,/usr/local/,S' -c -f arch.tar /lib
+
+   Notice the use of flags in the last example.  The `/lib' directory
+often contains many symbolic links to files within it.  It may look,
+for example, like this:
+
+     $ ls -l
+     drwxr-xr-x root/root       0 2008-07-08 16:20 /lib/
+     -rwxr-xr-x root/root 1250840 2008-05-25 07:44 /lib/libc-2.3.2.so
+     lrwxrwxrwx root/root       0 2008-06-24 17:12 /lib/libc.so.6 -> libc-2.3.2.so
+     ...
+
+   Using the expression `s,^,/usr/local/,' would mean adding
+`/usr/local' to both regular archive members and to link targets. In
+this case, `/lib/libc.so.6' would become:
+
+       /usr/local/lib/libc.so.6 -> /usr/local/libc-2.3.2.so
+
+   This is definitely not desired.  To avoid this, the `S' flag are
+used, which excludes symbolic link targets from filename
+transformations.  The result is:
 
+     $ tar --transform 's,^,/usr/local/,S', -c -v -f arch.tar \
+            --show-transformed /lib
+     drwxr-xr-x root/root       0 2008-07-08 16:20 /usr/local/lib/
+     -rwxr-xr-x root/root 1250840 2008-05-25 07:44 /usr/local/lib/libc-2.3.2.so
+     lrwxrwxrwx root/root       0 2008-06-24 17:12 /usr/local/lib/libc.so.6 ->
+     libc-2.3.2.so
 
    Unlike `--strip-components', `--transform' can be used in any GNU
 `tar' operation mode.  For example, the following command adds files to
@@ -6948,9 +7070,7 @@ error to the sink.  For example, under `sh':
 Another solution, both nicer and simpler, would be to change to the `/'
 directory first, and then avoid absolute notation.  For example:
 
-     $ (cd / && tar -c -f archive.tar home)
-     # or:
-     $ tar -c -f archive.tar -C  / home
+     $ tar -c -f archive.tar -C / home
 
    ---------- Footnotes ----------
 
@@ -7173,15 +7293,16 @@ derived from Latin which uses `12m' for noon and `12pm' for midnight.)
 
    The time may alternatively be followed by a time zone correction,
 expressed as `SHHMM', where S is `+' or `-', HH is a number of zone
-hours and MM is a number of zone minutes.  You can also separate HH
-from MM with a colon.  When a time zone correction is given this way, it
-forces interpretation of the time relative to Coordinated Universal
-Time (UTC), overriding any previous specification for the time zone or
-the local time zone.  For example, `+0530' and `+05:30' both stand for
-the time zone 5.5 hours ahead of UTC (e.g., India).  The MINUTE part of
-the time of day may not be elided when a time zone correction is used.
-This is the best way to specify a time zone correction by fractional
-parts of an hour.
+hours and MM is a number of zone minutes.  The zone minutes term, MM,
+may be omitted, in which case the one- or two-digit correction is
+interpreted as a number of hours.  You can also separate HH from MM
+with a colon.  When a time zone correction is given this way, it forces
+interpretation of the time relative to Coordinated Universal Time
+(UTC), overriding any previous specification for the time zone or the
+local time zone.  For example, `+0530' and `+05:30' both stand for the
+time zone 5.5 hours ahead of UTC (e.g., India).  This is the best way to
+specify a time zone correction by fractional parts of an hour.  The
+maximum zone correction is 24 hours.
 
    Either `am'/`pm' or a time zone correction may be specified, but not
 both.
@@ -7469,7 +7590,7 @@ v7
      Makefiles.  This practice will change in the future, in the
      meantime, however this means that projects containing file names
      more than 99 characters long will not be able to use GNU `tar'
-     1.20 and Automake prior to 1.9.
+     1.21 and Automake prior to 1.9.
 
 ustar
      Archive format defined by POSIX.1-1988 specification.  It stores
@@ -7548,176 +7669,3 @@ File: tar.info,  Node: Compression,  Next: Attributes,  Up: Formats
 * gzip::                        Creating and Reading Compressed Archives
 * sparse::                      Archiving Sparse Files
 
-\1f
-File: tar.info,  Node: gzip,  Next: sparse,  Up: Compression
-
-8.1.1 Creating and Reading Compressed Archives
-----------------------------------------------
-
-GNU `tar' is able to create and read compressed archives.  It supports
-`gzip', `bzip2' and `lzma' compression programs.  For backward
-compatibility, it also supports `compress' command, although we
-strongly recommend against using it, because it is by far less
-effective than other compression programs(1).
-
-   Creating a compressed archive is simple: you just specify a
-"compression option" along with the usual archive creation commands.
-The compression option is `-z' (`--gzip') to create a `gzip' compressed
-archive, `-j' (`--bzip2') to create a `bzip2' compressed archive,
-`--lzma' to create an LZMA compressed archive and `-Z' (`--compress')
-to use `compress' program.  For example:
-
-     $ tar cfz archive.tar.gz .
-
-   You can also let GNU `tar' select the compression program basing on
-the suffix of the archive file name. This is done using
-`--auto-compress' (`-a') command line option. For example, the
-following invocation will use `bzip2' for compression:
-
-     $ tar cfa archive.tar.bz2 .
-
-whereas the following one will use `lzma':
-
-     $ tar cfa archive.tar.lzma .
-
-   For a complete list of file name suffixes recognized by GNU `tar',
-*note auto-compress::.
-
-   Reading compressed archive is even simpler: you don't need to specify
-any additional options as GNU `tar' recognizes its format
-automatically.  Thus, the following commands will list and extract the
-archive created in previous example:
-
-     # List the compressed archive
-     $ tar tf archive.tar.gz
-     # Extract the compressed archive
-     $ tar xf archive.tar.gz
-
-   The only case when you have to specify a decompression option while
-reading the archive is when reading from a pipe or from a tape drive
-that does not support random access.  However, in this case GNU `tar'
-will indicate which option you should use.  For example:
-
-     $ cat archive.tar.gz | tar tf -
-     tar: Archive is compressed.  Use -z option
-     tar: Error is not recoverable: exiting now
-
-   If you see such diagnostics, just add the suggested option to the
-invocation of GNU `tar':
-
-     $ cat archive.tar.gz | tar tfz -
-
-   Notice also, that there are several restrictions on operations on
-compressed archives.  First of all, compressed archives cannot be
-modified, i.e., you cannot update (`--update' (`-u')) them or delete
-(`--delete') members from them or add (`--append' (`-r')) members to
-them.  Likewise, you cannot append another `tar' archive to a
-compressed archive using `--concatenate' (`-A')).  Secondly,
-multi-volume archives cannot be compressed.
-
-   The following table summarizes compression options used by GNU `tar'.
-
-`--auto-compress'
-`-a'
-     Select a compression program to use by the archive file name
-     suffix. The following suffixes are recognized:
-
-     Suffix               Compression program
-     -------------------------------------------------------------- 
-     `.gz'                `gzip'
-     `.tgz'               `gzip'
-     `.taz'               `gzip'
-     `.Z'                 `compress'
-     `.taZ'               `compress'
-     `.bz2'               `bzip2'
-     `.tz2'               `bzip2'
-     `.tbz2'              `bzip2'
-     `.tbz'               `bzip2'
-     `.lzma'              `lzma'
-     `.tlz'               `lzma'
-
-`-z'
-`--gzip'
-`--ungzip'
-     Filter the archive through `gzip'.
-
-     You can use `--gzip' and `--gunzip' on physical devices (tape
-     drives, etc.) and remote files as well as on normal files; data to
-     or from such devices or remote files is reblocked by another copy
-     of the `tar' program to enforce the specified (or default) record
-     size.  The default compression parameters are used; if you need to
-     override them, set `GZIP' environment variable, e.g.:
-
-          $ GZIP=--best tar cfz archive.tar.gz subdir
-
-     Another way would be to avoid the `--gzip' (`--gunzip',
-     `--ungzip', `-z') option and run `gzip' explicitly:
-
-          $ tar cf - subdir | gzip --best -c - > archive.tar.gz
-
-     About corrupted compressed archives: `gzip''ed files have no
-     redundancy, for maximum compression.  The adaptive nature of the
-     compression scheme means that the compression tables are implicitly
-     spread all over the archive.  If you lose a few blocks, the dynamic
-     construction of the compression tables becomes unsynchronized, and
-     there is little chance that you could recover later in the archive.
-
-     There are pending suggestions for having a per-volume or per-file
-     compression in GNU `tar'.  This would allow for viewing the
-     contents without decompression, and for resynchronizing
-     decompression at every volume or file, in case of corrupted
-     archives.  Doing so, we might lose some compressibility.  But this
-     would have make recovering easier.  So, there are pros and cons.
-     We'll see!
-
-`-j'
-`--bzip2'
-     Filter the archive through `bzip2'.  Otherwise like `--gzip'.
-
-`--lzma'
-     Filter the archive through `lzma'.  Otherwise like `--gzip'.
-
-`-Z'
-`--compress'
-`--uncompress'
-     Filter the archive through `compress'.  Otherwise like `--gzip'.
-
-`--use-compress-program=PROG'
-     Use external compression program PROG.  Use this option if you
-     have a compression program that GNU `tar' does not support.  There
-     are two requirements to which PROG should comply:
-
-     First, when called without options, it should read data from
-     standard input, compress it and output it on standard output.
-
-     Secondly, if called with `-d' argument, it should do exactly the
-     opposite, i.e., read the compressed data from the standard input
-     and produce uncompressed data on the standard output.
-
-   The `--use-compress-program' option, in particular, lets you
-implement your own filters, not necessarily dealing with
-compression/decompression.  For example, suppose you wish to implement
-PGP encryption on top of compression, using `gpg' (*note gpg:
-(gpg)Top.).  The following script does that:
-
-     #! /bin/sh
-     case $1 in
-     -d) gpg --decrypt - | gzip -d -c;;
-     '') gzip -c | gpg -s ;;
-     *)  echo "Unknown option $1">&2; exit 1;;
-     esac
-
-   Suppose you name it `gpgz' and save it somewhere in your `PATH'.
-Then the following command will create a compressed archive signed with
-your private key:
-
-     $ tar -cf foo.tar.gpgz --use-compress=gpgz .
-
-Likewise, the following command will list its contents:
-
-     $ tar -tf foo.tar.gpgz --use-compress=gpgz .
-
-   ---------- Footnotes ----------
-
-   (1) It also had patent problems in the past.
-
index bd7e2b377081f2160dfe8a46aa414a60e093c59f..5720541dab143f3aa4dc76306b3fd4d1d4c2b991 100644 (file)
@@ -1,6 +1,6 @@
-This is tar.info, produced by makeinfo version 4.8.90 from tar.texi.
+This is tar.info, produced by makeinfo version 4.13 from tar.texi.
 
-   This manual is for GNU `tar' (version 1.20, 14 April 2008), which
+This manual is for GNU `tar' (version 1.21, 30 October 2008), which
 creates and extracts files from archives.
 
    Copyright (C) 1992, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2003,
@@ -28,6 +28,191 @@ START-INFO-DIR-ENTRY
 * tar: (tar)tar invocation.                     Invoking GNU `tar'.
 END-INFO-DIR-ENTRY
 
+\1f
+File: tar.info,  Node: gzip,  Next: sparse,  Up: Compression
+
+8.1.1 Creating and Reading Compressed Archives
+----------------------------------------------
+
+GNU `tar' is able to create and read compressed archives.  It supports
+`gzip', `bzip2', `lzma' and `lzop' compression programs.  For backward
+compatibility, it also supports `compress' command, although we
+strongly recommend against using it, because it is by far less
+effective than other compression programs(1).
+
+   Creating a compressed archive is simple: you just specify a
+"compression option" along with the usual archive creation commands.
+The compression option is `-z' (`--gzip') to create a `gzip' compressed
+archive, `-j' (`--bzip2') to create a `bzip2' compressed archive, `-J'
+(`--lzma') to create an LZMA compressed archive, `--lzop' to create an
+LSOP archive, and `-Z' (`--compress') to use `compress' program.  For
+example:
+
+     $ tar cfz archive.tar.gz .
+
+   You can also let GNU `tar' select the compression program basing on
+the suffix of the archive file name. This is done using
+`--auto-compress' (`-a') command line option. For example, the
+following invocation will use `bzip2' for compression:
+
+     $ tar cfa archive.tar.bz2 .
+
+whereas the following one will use `lzma':
+
+     $ tar cfa archive.tar.lzma .
+
+   For a complete list of file name suffixes recognized by GNU `tar',
+*note auto-compress::.
+
+   Reading compressed archive is even simpler: you don't need to specify
+any additional options as GNU `tar' recognizes its format
+automatically.  Thus, the following commands will list and extract the
+archive created in previous example:
+
+     # List the compressed archive
+     $ tar tf archive.tar.gz
+     # Extract the compressed archive
+     $ tar xf archive.tar.gz
+
+   The format recognition algorithm is based on "signatures", a special
+byte sequences in the beginning of file, that are specific for certain
+compression formats.  If this approach fails, `tar' falls back to using
+archive name suffix to determine its format (*Note auto-compress::, for
+a list of recognized suffixes).
+
+   The only case when you have to specify a decompression option while
+reading the archive is when reading from a pipe or from a tape drive
+that does not support random access.  However, in this case GNU `tar'
+will indicate which option you should use.  For example:
+
+     $ cat archive.tar.gz | tar tf -
+     tar: Archive is compressed.  Use -z option
+     tar: Error is not recoverable: exiting now
+
+   If you see such diagnostics, just add the suggested option to the
+invocation of GNU `tar':
+
+     $ cat archive.tar.gz | tar tfz -
+
+   Notice also, that there are several restrictions on operations on
+compressed archives.  First of all, compressed archives cannot be
+modified, i.e., you cannot update (`--update' (`-u')) them or delete
+(`--delete') members from them or add (`--append' (`-r')) members to
+them.  Likewise, you cannot append another `tar' archive to a
+compressed archive using `--concatenate' (`-A')).  Secondly,
+multi-volume archives cannot be compressed.
+
+   The following table summarizes compression options used by GNU `tar'.
+
+`--auto-compress'
+`-a'
+     Select a compression program to use by the archive file name
+     suffix.  The following suffixes are recognized:
+
+     Suffix               Compression program
+     -------------------------------------------------------------- 
+     `.gz'                `gzip'
+     `.tgz'               `gzip'
+     `.taz'               `gzip'
+     `.Z'                 `compress'
+     `.taZ'               `compress'
+     `.bz2'               `bzip2'
+     `.tz2'               `bzip2'
+     `.tbz2'              `bzip2'
+     `.tbz'               `bzip2'
+     `.lzma'              `lzma'
+     `.tlz'               `lzma'
+     `.lzo'               `lzop'
+
+`-z'
+`--gzip'
+`--ungzip'
+     Filter the archive through `gzip'.
+
+     You can use `--gzip' and `--gunzip' on physical devices (tape
+     drives, etc.) and remote files as well as on normal files; data to
+     or from such devices or remote files is reblocked by another copy
+     of the `tar' program to enforce the specified (or default) record
+     size.  The default compression parameters are used; if you need to
+     override them, set `GZIP' environment variable, e.g.:
+
+          $ GZIP=--best tar cfz archive.tar.gz subdir
+
+     Another way would be to avoid the `--gzip' (`--gunzip',
+     `--ungzip', `-z') option and run `gzip' explicitly:
+
+          $ tar cf - subdir | gzip --best -c - > archive.tar.gz
+
+     About corrupted compressed archives: `gzip''ed files have no
+     redundancy, for maximum compression.  The adaptive nature of the
+     compression scheme means that the compression tables are implicitly
+     spread all over the archive.  If you lose a few blocks, the dynamic
+     construction of the compression tables becomes unsynchronized, and
+     there is little chance that you could recover later in the archive.
+
+     There are pending suggestions for having a per-volume or per-file
+     compression in GNU `tar'.  This would allow for viewing the
+     contents without decompression, and for resynchronizing
+     decompression at every volume or file, in case of corrupted
+     archives.  Doing so, we might lose some compressibility.  But this
+     would have make recovering easier.  So, there are pros and cons.
+     We'll see!
+
+`-j'
+`--bzip2'
+     Filter the archive through `bzip2'.  Otherwise like `--gzip'.
+
+`--lzma'
+`-J'
+     Filter the archive through `lzma'.  Otherwise like `--gzip'.
+
+`--lzop'
+     Filter the archive through `lzop'.  Otherwise like `--gzip'.
+
+`-Z'
+`--compress'
+`--uncompress'
+     Filter the archive through `compress'.  Otherwise like `--gzip'.
+
+`--use-compress-program=PROG'
+     Use external compression program PROG.  Use this option if you
+     have a compression program that GNU `tar' does not support.  There
+     are two requirements to which PROG should comply:
+
+     First, when called without options, it should read data from
+     standard input, compress it and output it on standard output.
+
+     Secondly, if called with `-d' argument, it should do exactly the
+     opposite, i.e., read the compressed data from the standard input
+     and produce uncompressed data on the standard output.
+
+   The `--use-compress-program' option, in particular, lets you
+implement your own filters, not necessarily dealing with
+compression/decompression.  For example, suppose you wish to implement
+PGP encryption on top of compression, using `gpg' (*note gpg:
+(gpg)Top.).  The following script does that:
+
+     #! /bin/sh
+     case $1 in
+     -d) gpg --decrypt - | gzip -d -c;;
+     '') gzip -c | gpg -s ;;
+     *)  echo "Unknown option $1">&2; exit 1;;
+     esac
+
+   Suppose you name it `gpgz' and save it somewhere in your `PATH'.
+Then the following command will create a compressed archive signed with
+your private key:
+
+     $ tar -cf foo.tar.gpgz --use-compress=gpgz .
+
+Likewise, the following command will list its contents:
+
+     $ tar -tf foo.tar.gpgz --use-compress=gpgz .
+
+   ---------- Footnotes ----------
+
+   (1) It also had patent problems in the past.
+
 \1f
 File: tar.info,  Node: sparse,  Prev: gzip,  Up: Compression
 
@@ -1191,10 +1376,10 @@ File: tar.info,  Node: Remote Tape Server,  Next: Common Problems and Solutions,
 
 In order to access the tape drive on a remote machine, `tar' uses the
 remote tape server written at the University of California at Berkeley.
-The remote tape server must be installed as `PREFIX/libexec/rmt' on
-any machine whose tape drive you want to use.  `tar' calls `rmt' by
-running an `rsh' or `remsh' to the remote machine, optionally using a
-different login name if one is supplied.
+The remote tape server must be installed as `PREFIX/libexec/rmt' on any
+machine whose tape drive you want to use.  `tar' calls `rmt' by running
+an `rsh' or `remsh' to the remote machine, optionally using a different
+login name if one is supplied.
 
    A copy of the source for the remote tape server is provided.  It is
 Copyright (C) 1983 by the Regents of the University of California, but
@@ -1429,8 +1614,8 @@ of 512 bytes) is called the "blocking factor".  The
 `--blocking-factor=512-SIZE' (`-b 512-SIZE') option specifies the
 blocking factor of an archive.  The default blocking factor is
 typically 20 (i.e., 10240 bytes), but can be specified at installation.
-To find out the blocking factor of an existing archive, use `tar
---list --file=ARCHIVE-NAME'.  This may not work on some devices.
+To find out the blocking factor of an existing archive, use `tar --list
+--file=ARCHIVE-NAME'.  This may not work on some devices.
 
    Records are separated by gaps, which waste space on the archive
 media.  If you are archiving on magnetic tape, using a larger blocking
@@ -2104,12 +2289,12 @@ number of the volume of the archive.  (If you use the
 make sure the label on the tape matches the one you give. *Note label::.
 
    When `tar' writes an archive to tape, it creates a single tape file.
-If multiple archives are written to the same tape, one after the
-other, they each get written as separate tape files.  When extracting,
-it is necessary to position the tape at the right place before running
-`tar'.  To do this, use the `mt' command.  For more information on the
-`mt' command and on the organization of tapes into a sequence of tape
-files, see *note mt::.
+If multiple archives are written to the same tape, one after the other,
+they each get written as separate tape files.  When extracting, it is
+necessary to position the tape at the right place before running `tar'.
+To do this, use the `mt' command.  For more information on the `mt'
+command and on the organization of tapes into a sequence of tape files,
+see *note mt::.
 
    People seem to often do:
 
@@ -2344,7 +2529,7 @@ Appendix A Changes
 ******************
 
 This appendix lists some important user-visible changes between version
-GNU `tar' 1.20 and previous versions. An up-to-date version of this
+GNU `tar' 1.21 and previous versions. An up-to-date version of this
 document is available at the GNU `tar' documentation page
 (http://www.gnu.org/software/tar/manual/changes.html).
 
@@ -2431,7 +2616,6 @@ order: a short option, eventually followed by a list of corresponding
 long option names, followed by a short description of the option. For
 example, here is an excerpt from the actual `tar --help' output:
 
-
  Main operation mode:
 
   -A, --catenate, --concatenate   append tar files to an archive
@@ -2563,7 +2747,6 @@ Boolean assignment
      descriptive text preceding an option group.  For example, in the
      following text:
 
-
       Main operation mode:
 
        -A, --catenate, --concatenate   append tar files to
@@ -3134,9 +3317,9 @@ files in an archive.  These are listed below.
      option.  The original type of the file is not given here.  The
      `size' field gives the maximum size of this piece of the file
      (assuming the volume does not end before the file is written out).
-     The `offset' field gives the offset from the beginning of the
-     file where this part of the file begins.  Thus `size' plus
-     `offset' should equal the original size of the file.
+     The `offset' field gives the offset from the beginning of the file
+     where this part of the file begins.  Thus `size' plus `offset'
+     should equal the original size of the file.
 
 `GNUTYPE_SPARSE'
 `'S''
@@ -3382,12 +3565,12 @@ backups (*note Incremental Dumps::).  It contains the status of the
 file system at the time of the dump and is used to determine which
 files were modified since the last backup.
 
-   GNU `tar' version 1.20 supports three snapshot file formats.  The
+   GNU `tar' version 1.21 supports three snapshot file formats.  The
 first format, called "format 0", is the one used by GNU `tar' versions
 up to 1.15.1. The second format, called "format 1" is an extended
 version of this format, that contains more metadata and allows for
 further extensions. It was used by version 1.15.1. Starting from
-version 1.16 and up to 1.20, the "format 2" is used.
+version 1.16 and up to 1.21, the "format 2" is used.
 
    GNU `tar' is able to read all three formats, but will create
 snapshots only in format 2.
@@ -3443,7 +3626,7 @@ snapshots only in format 2.
   2.    A snapshot file begins with a format identifier, as described
      for version 1, e.g.:
 
-          GNU tar-1.20-2
+          GNU tar-1.21-2
 
      This line is followed by newline. Rest of file consists of
      records, separated by null (ASCII 0) characters. Thus, in contrast
@@ -4436,35 +4619,35 @@ Summary::.
 * append, summary:                       Operation Summary.   (line   6)
 * atime-preserve:                        Attributes.          (line  14)
 * atime-preserve, summary:               Option Summary.      (line  19)
-* auto-compress:                         gzip.                (line  69)
+* auto-compress:                         gzip.                (line  76)
 * auto-compress, summary:                Option Summary.      (line  65)
 * backup:                                backup.              (line  41)
-* backup, summary:                       Option Summary.      (line  70)
+* backup, summary:                       Option Summary.      (line  71)
 * block-number:                          verbose.             (line 115)
-* block-number, summary:                 Option Summary.      (line  75)
+* block-number, summary:                 Option Summary.      (line  76)
 * blocking-factor:                       Blocking Factor.     (line   8)
-* blocking-factor, summary:              Option Summary.      (line  81)
-* bzip2:                                 gzip.                (line 122)
-* bzip2, summary:                        Option Summary.      (line  86)
+* blocking-factor, summary:              Option Summary.      (line  82)
+* bzip2:                                 gzip.                (line 130)
+* bzip2, summary:                        Option Summary.      (line  87)
 * catenate:                              concatenate.         (line   6)
 * catenate, summary:                     Operation Summary.   (line  10)
 * check-device, described:               Incremental Dumps.   (line  99)
-* check-device, summary:                 Option Summary.      (line  91)
+* check-device, summary:                 Option Summary.      (line  92)
 * check-links, described:                hard links.          (line  33)
-* check-links, summary:                  Option Summary.      (line 142)
+* check-links, summary:                  Option Summary.      (line 143)
 * checkpoint:                            checkpoints.         (line   6)
 * checkpoint, defined:                   checkpoints.         (line  13)
-* checkpoint, summary:                   Option Summary.      (line  96)
+* checkpoint, summary:                   Option Summary.      (line  97)
 * checkpoint-action:                     checkpoints.         (line   6)
 * checkpoint-action, defined:            checkpoints.         (line  22)
-* checkpoint-action, summary:            Option Summary.      (line 104)
+* checkpoint-action, summary:            Option Summary.      (line 105)
 * compare:                               compare.             (line   8)
 * compare, summary:                      Operation Summary.   (line  14)
-* compress:                              gzip.                (line 129)
-* compress, summary:                     Option Summary.      (line 151)
+* compress:                              gzip.                (line 141)
+* compress, summary:                     Option Summary.      (line 152)
 * concatenate:                           concatenate.         (line   6)
 * concatenate, summary:                  Operation Summary.   (line  20)
-* confirmation, summary:                 Option Summary.      (line 158)
+* confirmation, summary:                 Option Summary.      (line 159)
 * create, additional options:            create options.      (line   6)
 * create, complementary notes:           Basic tar.           (line  11)
 * create, introduced:                    Creating the archive.
@@ -4474,35 +4657,35 @@ Summary::.
 * create, using with --verify:           verify.              (line  24)
 * delay-directory-restore:               Directory Modification Times and Permissions.
                                                               (line  62)
-* delay-directory-restore, summary:      Option Summary.      (line 161)
+* delay-directory-restore, summary:      Option Summary.      (line 162)
 * delete:                                delete.              (line   8)
 * delete, summary:                       Operation Summary.   (line  29)
 * dereference:                           dereference.         (line   6)
-* dereference, summary:                  Option Summary.      (line 166)
+* dereference, summary:                  Option Summary.      (line 167)
 * diff, summary:                         Operation Summary.   (line  33)
 * directory:                             directory.           (line  11)
-* directory, summary:                    Option Summary.      (line 172)
+* directory, summary:                    Option Summary.      (line 173)
 * directory, using in --files-from argument: files.           (line  60)
 * exclude:                               exclude.             (line  11)
 * exclude, potential problems with:      problems with exclude.
                                                               (line   6)
-* exclude, summary:                      Option Summary.      (line 179)
-* exclude-caches:                        exclude.             (line  80)
-* exclude-caches, summary:               Option Summary.      (line 188)
-* exclude-caches-all:                    exclude.             (line  88)
-* exclude-caches-all, summary:           Option Summary.      (line 201)
-* exclude-caches-under:                  exclude.             (line  84)
-* exclude-caches-under, summary:         Option Summary.      (line 195)
+* exclude, summary:                      Option Summary.      (line 180)
+* exclude-caches:                        exclude.             (line  96)
+* exclude-caches, summary:               Option Summary.      (line 189)
+* exclude-caches-all:                    exclude.             (line 104)
+* exclude-caches-all, summary:           Option Summary.      (line 202)
+* exclude-caches-under:                  exclude.             (line 100)
+* exclude-caches-under, summary:         Option Summary.      (line 196)
 * exclude-from:                          exclude.             (line  22)
-* exclude-from, summary:                 Option Summary.      (line 183)
-* exclude-tag:                           exclude.             (line  97)
-* exclude-tag, summary:                  Option Summary.      (line 205)
-* exclude-tag-all:                       exclude.             (line 105)
-* exclude-tag-all, summary:              Option Summary.      (line 213)
-* exclude-tag-under:                     exclude.             (line 101)
-* exclude-tag-under, summary:            Option Summary.      (line 209)
+* exclude-from, summary:                 Option Summary.      (line 184)
+* exclude-tag:                           exclude.             (line 113)
+* exclude-tag, summary:                  Option Summary.      (line 206)
+* exclude-tag-all:                       exclude.             (line 121)
+* exclude-tag-all, summary:              Option Summary.      (line 214)
+* exclude-tag-under:                     exclude.             (line 117)
+* exclude-tag-under, summary:            Option Summary.      (line 210)
 * exclude-vcs:                           exclude.             (line  39)
-* exclude-vcs, summary:                  Option Summary.      (line 217)
+* exclude-vcs, summary:                  Option Summary.      (line 218)
 * extract:                               extract.             (line   8)
 * extract, additional options:           extract options.     (line   8)
 * extract, complementary notes:          Basic tar.           (line  48)
@@ -4510,52 +4693,52 @@ Summary::.
 * extract, using with --listed-incremental: Incremental Dumps.
                                                               (line 112)
 * file, short description:               file.                (line  17)
-* file, summary:                         Option Summary.      (line 223)
+* file, summary:                         Option Summary.      (line 224)
 * file, tutorial:                        file tutorial.       (line   6)
 * files-from:                            files.               (line  14)
-* files-from, summary:                   Option Summary.      (line 229)
+* files-from, summary:                   Option Summary.      (line 230)
 * force-local, short description:        Device.              (line  70)
-* force-local, summary:                  Option Summary.      (line 235)
-* format, summary:                       Option Summary.      (line 240)
+* force-local, summary:                  Option Summary.      (line 236)
+* format, summary:                       Option Summary.      (line 241)
 * get, summary:                          Operation Summary.   (line  42)
 * group:                                 override.            (line  73)
-* group, summary:                        Option Summary.      (line 265)
-* gunzip, summary:                       Option Summary.      (line 273)
-* gzip:                                  gzip.                (line  88)
-* gzip, summary:                         Option Summary.      (line 273)
+* group, summary:                        Option Summary.      (line 266)
+* gunzip, summary:                       Option Summary.      (line 274)
+* gzip:                                  gzip.                (line  96)
+* gzip, summary:                         Option Summary.      (line 274)
 * hard-dereference, described:           hard links.          (line  61)
-* hard-dereference, summary:             Option Summary.      (line 281)
+* hard-dereference, summary:             Option Summary.      (line 282)
 * help:                                  help tutorial.       (line   6)
 * help, introduction:                    help.                (line  26)
-* help, summary:                         Option Summary.      (line 287)
+* help, summary:                         Option Summary.      (line 288)
 * ignore-case:                           controlling pattern-matching.
                                                               (line  86)
-* ignore-case, summary:                  Option Summary.      (line 292)
+* ignore-case, summary:                  Option Summary.      (line 293)
 * ignore-command-error:                  Writing to an External Program.
                                                               (line  82)
-* ignore-command-error, summary:         Option Summary.      (line 296)
+* ignore-command-error, summary:         Option Summary.      (line 297)
 * ignore-failed-read:                    Ignore Failed Read.  (line   7)
-* ignore-failed-read, summary:           Option Summary.      (line 300)
+* ignore-failed-read, summary:           Option Summary.      (line 301)
 * ignore-zeros:                          Ignore Zeros.        (line   6)
 * ignore-zeros, short description:       Blocking Factor.     (line 156)
-* ignore-zeros, summary:                 Option Summary.      (line 304)
-* incremental, summary:                  Option Summary.      (line 309)
+* ignore-zeros, summary:                 Option Summary.      (line 305)
+* incremental, summary:                  Option Summary.      (line 310)
 * incremental, using with --list:        Incremental Dumps.   (line 177)
-* index-file, summary:                   Option Summary.      (line 316)
+* index-file, summary:                   Option Summary.      (line 317)
 * info-script:                           Multi-Volume Archives.
                                                               (line  80)
 * info-script, short description:        Device.              (line 104)
-* info-script, summary:                  Option Summary.      (line 319)
+* info-script, summary:                  Option Summary.      (line 320)
 * interactive:                           interactive.         (line  14)
-* interactive, summary:                  Option Summary.      (line 327)
+* interactive, summary:                  Option Summary.      (line 328)
 * keep-newer-files:                      Keep Newer Files.    (line   6)
-* keep-newer-files, summary:             Option Summary.      (line 334)
+* keep-newer-files, summary:             Option Summary.      (line 335)
 * keep-old-files:                        Keep Old Files.      (line   6)
 * keep-old-files, introduced:            Dealing with Old Files.
                                                               (line  16)
-* keep-old-files, summary:               Option Summary.      (line 338)
+* keep-old-files, summary:               Option Summary.      (line 339)
 * label:                                 label.               (line   8)
-* label, summary:                        Option Summary.      (line 343)
+* label, summary:                        Option Summary.      (line 344)
 * list:                                  list.                (line   6)
 * list, summary:                         Operation Summary.   (line  46)
 * list, using with --incremental:        Incremental Dumps.   (line 177)
@@ -4563,189 +4746,195 @@ Summary::.
 * list, using with --verbose:            list.                (line  30)
 * list, using with file name arguments:  list.                (line  68)
 * listed-incremental:                    Incremental Dumps.   (line  14)
-* listed-incremental, summary:           Option Summary.      (line 350)
+* listed-incremental, summary:           Option Summary.      (line 351)
 * listed-incremental, using with --extract: Incremental Dumps.
                                                               (line 112)
 * listed-incremental, using with --list: Incremental Dumps.   (line 177)
-* lzma:                                  gzip.                (line 126)
-* lzma, summary:                         Option Summary.      (line 358)
+* lzma:                                  gzip.                (line 134)
+* lzma, summary:                         Option Summary.      (line 359)
+* lzop:                                  gzip.                (line 138)
 * mode:                                  override.            (line  14)
-* mode, summary:                         Option Summary.      (line 362)
+* mode, summary:                         Option Summary.      (line 368)
 * mtime:                                 override.            (line  29)
-* mtime, summary:                        Option Summary.      (line 368)
+* mtime, summary:                        Option Summary.      (line 374)
 * multi-volume:                          Multi-Volume Archives.
                                                               (line   6)
 * multi-volume, short description:       Device.              (line  88)
-* multi-volume, summary:                 Option Summary.      (line 377)
+* multi-volume, summary:                 Option Summary.      (line 383)
 * new-volume-script:                     Multi-Volume Archives.
                                                               (line  80)
 * new-volume-script, short description:  Device.              (line 104)
-* new-volume-script, summary:            Option Summary.      (line 319)
+* new-volume-script, summary:            Option Summary.      (line 320)
 * newer:                                 after.               (line  26)
-* newer, summary:                        Option Summary.      (line 385)
+* newer, summary:                        Option Summary.      (line 391)
 * newer-mtime:                           after.               (line  37)
-* newer-mtime, summary:                  Option Summary.      (line 393)
+* newer-mtime, summary:                  Option Summary.      (line 399)
 * no-anchored:                           controlling pattern-matching.
                                                               (line  79)
-* no-anchored, summary:                  Option Summary.      (line 398)
+* no-anchored, summary:                  Option Summary.      (line 404)
+* no-auto-compress, summary:             Option Summary.      (line 408)
 * no-check-device, described:            Incremental Dumps.   (line  95)
-* no-check-device, summary:              Option Summary.      (line 402)
+* no-check-device, summary:              Option Summary.      (line 412)
 * no-delay-directory-restore:            Directory Modification Times and Permissions.
                                                               (line  68)
-* no-delay-directory-restore, summary:   Option Summary.      (line 407)
+* no-delay-directory-restore, summary:   Option Summary.      (line 417)
 * no-ignore-case:                        controlling pattern-matching.
                                                               (line  86)
-* no-ignore-case, summary:               Option Summary.      (line 413)
+* no-ignore-case, summary:               Option Summary.      (line 423)
 * no-ignore-command-error:               Writing to an External Program.
                                                               (line  87)
-* no-ignore-command-error, summary:      Option Summary.      (line 416)
-* no-overwrite-dir, summary:             Option Summary.      (line 420)
-* no-quote-chars, summary:               Option Summary.      (line 424)
+* no-ignore-command-error, summary:      Option Summary.      (line 426)
+* no-null, described:                    nul.                 (line  15)
+* no-null, summary:                      Option Summary.      (line 430)
+* no-overwrite-dir, summary:             Option Summary.      (line 435)
+* no-quote-chars, summary:               Option Summary.      (line 439)
 * no-recursion:                          recurse.             (line  13)
-* no-recursion, summary:                 Option Summary.      (line 429)
+* no-recursion, summary:                 Option Summary.      (line 444)
 * no-same-owner:                         Attributes.          (line  67)
-* no-same-owner, summary:                Option Summary.      (line 433)
-* no-same-permissions, summary:          Option Summary.      (line 439)
+* no-same-owner, summary:                Option Summary.      (line 448)
+* no-same-permissions, summary:          Option Summary.      (line 454)
 * no-unquote:                            Selecting Archive Members.
                                                               (line  42)
-* no-unquote, summary:                   Option Summary.      (line 444)
+* no-unquote, summary:                   Option Summary.      (line 459)
 * no-wildcards:                          controlling pattern-matching.
                                                               (line  41)
-* no-wildcards, summary:                 Option Summary.      (line 448)
+* no-wildcards, summary:                 Option Summary.      (line 463)
 * no-wildcards-match-slash:              controlling pattern-matching.
                                                               (line  92)
-* no-wildcards-match-slash, summary:     Option Summary.      (line 451)
-* null:                                  nul.                 (line  11)
-* null, summary:                         Option Summary.      (line 454)
+* no-wildcards-match-slash, summary:     Option Summary.      (line 466)
+* null, described:                       nul.                 (line  11)
+* null, summary:                         Option Summary.      (line 469)
 * numeric-owner:                         Attributes.          (line  73)
-* numeric-owner, summary:                Option Summary.      (line 460)
-* occurrence, summary:                   Option Summary.      (line 477)
-* old-archive, summary:                  Option Summary.      (line 491)
+* numeric-owner, summary:                Option Summary.      (line 475)
+* occurrence, summary:                   Option Summary.      (line 492)
+* old-archive, summary:                  Option Summary.      (line 506)
 * one-file-system:                       one.                 (line  16)
-* one-file-system, summary:              Option Summary.      (line 494)
+* one-file-system, summary:              Option Summary.      (line 509)
 * overwrite:                             Overwrite Old Files. (line   6)
 * overwrite, introduced:                 Dealing with Old Files.
                                                               (line  22)
-* overwrite, summary:                    Option Summary.      (line 499)
+* overwrite, summary:                    Option Summary.      (line 514)
 * overwrite-dir:                         Overwrite Old Files. (line  28)
 * overwrite-dir, introduced:             Dealing with Old Files.
                                                               (line   6)
-* overwrite-dir, summary:                Option Summary.      (line 503)
+* overwrite-dir, summary:                Option Summary.      (line 518)
 * owner:                                 override.            (line  57)
-* owner, summary:                        Option Summary.      (line 507)
+* owner, summary:                        Option Summary.      (line 522)
 * pax-option:                            PAX keywords.        (line   6)
-* pax-option, summary:                   Option Summary.      (line 516)
-* portability, summary:                  Option Summary.      (line 522)
-* posix, summary:                        Option Summary.      (line 526)
+* pax-option, summary:                   Option Summary.      (line 531)
+* portability, summary:                  Option Summary.      (line 537)
+* posix, summary:                        Option Summary.      (line 541)
 * preserve:                              Attributes.          (line 126)
-* preserve, summary:                     Option Summary.      (line 529)
+* preserve, summary:                     Option Summary.      (line 544)
 * preserve-order:                        Same Order.          (line   6)
-* preserve-order, summary:               Option Summary.      (line 533)
+* preserve-order, summary:               Option Summary.      (line 548)
 * preserve-permissions:                  Setting Access Permissions.
                                                               (line  10)
 * preserve-permissions, short description: Attributes.        (line 113)
-* preserve-permissions, summary:         Option Summary.      (line 536)
-* quote-chars, summary:                  Option Summary.      (line 546)
-* quoting-style:                         quoting styles.      (line  39)
-* quoting-style, summary:                Option Summary.      (line 550)
+* preserve-permissions, summary:         Option Summary.      (line 551)
+* quote-chars, summary:                  Option Summary.      (line 561)
+* quoting-style:                         quoting styles.      (line  38)
+* quoting-style, summary:                Option Summary.      (line 565)
 * read-full-records <1>:                 read full records.   (line   6)
 * read-full-records:                     Reading.             (line   8)
 * read-full-records, short description:  Blocking Factor.     (line 172)
-* read-full-records, summary:            Option Summary.      (line 557)
-* record-size, summary:                  Option Summary.      (line 562)
+* read-full-records, summary:            Option Summary.      (line 572)
+* record-size, summary:                  Option Summary.      (line 577)
 * recursion:                             recurse.             (line  24)
-* recursion, summary:                    Option Summary.      (line 566)
+* recursion, summary:                    Option Summary.      (line 581)
 * recursive-unlink:                      Recursive Unlink.    (line   6)
-* recursive-unlink, summary:             Option Summary.      (line 570)
+* recursive-unlink, summary:             Option Summary.      (line 585)
 * remove-files:                          remove files.        (line   6)
-* remove-files, summary:                 Option Summary.      (line 575)
-* restrict, summary:                     Option Summary.      (line 579)
-* rmt-command, summary:                  Option Summary.      (line 584)
+* remove-files, summary:                 Option Summary.      (line 590)
+* restrict, summary:                     Option Summary.      (line 594)
+* rmt-command, summary:                  Option Summary.      (line 599)
 * rsh-command:                           Device.              (line  73)
-* rsh-command, summary:                  Option Summary.      (line 588)
+* rsh-command, summary:                  Option Summary.      (line 603)
 * same-order:                            Same Order.          (line   6)
-* same-order, summary:                   Option Summary.      (line 592)
+* same-order, summary:                   Option Summary.      (line 607)
 * same-owner:                            Attributes.          (line  48)
-* same-owner, summary:                   Option Summary.      (line 600)
+* same-owner, summary:                   Option Summary.      (line 615)
 * same-permissions:                      Setting Access Permissions.
                                                               (line  10)
 * same-permissions, short description:   Attributes.          (line 113)
-* same-permissions, summary:             Option Summary.      (line 536)
-* seek, summary:                         Option Summary.      (line 609)
+* same-permissions, summary:             Option Summary.      (line 551)
+* seek, summary:                         Option Summary.      (line 624)
 * show-defaults:                         defaults.            (line   6)
-* show-defaults, summary:                Option Summary.      (line 616)
+* show-defaults, summary:                Option Summary.      (line 631)
 * show-omitted-dirs:                     verbose.             (line 107)
-* show-omitted-dirs, summary:            Option Summary.      (line 625)
+* show-omitted-dirs, summary:            Option Summary.      (line 640)
 * show-stored-names:                     list.                (line  60)
-* show-stored-names, summary:            Option Summary.      (line 629)
+* show-stored-names, summary:            Option Summary.      (line 644)
 * show-transformed-names:                transform.           (line  45)
-* show-transformed-names, summary:       Option Summary.      (line 629)
+* show-transformed-names, summary:       Option Summary.      (line 644)
 * sparse:                                sparse.              (line  22)
-* sparse, summary:                       Option Summary.      (line 637)
+* sparse, summary:                       Option Summary.      (line 652)
 * sparse-version:                        sparse.              (line  57)
-* sparse-version, summary:               Option Summary.      (line 642)
+* sparse-version, summary:               Option Summary.      (line 657)
 * starting-file:                         Starting File.       (line   6)
-* starting-file, summary:                Option Summary.      (line 647)
+* starting-file, summary:                Option Summary.      (line 662)
 * strip-components:                      transform.           (line  25)
-* strip-components, summary:             Option Summary.      (line 653)
+* strip-components, summary:             Option Summary.      (line 668)
 * suffix:                                backup.              (line  68)
-* suffix, summary:                       Option Summary.      (line 662)
+* suffix, summary:                       Option Summary.      (line 677)
 * tape-length:                           Multi-Volume Archives.
                                                               (line  33)
 * tape-length, short description:        Device.              (line  96)
-* tape-length, summary:                  Option Summary.      (line 668)
+* tape-length, summary:                  Option Summary.      (line 683)
 * test-label:                            label.               (line  37)
-* test-label, summary:                   Option Summary.      (line 673)
+* test-label, summary:                   Option Summary.      (line 688)
 * to-command:                            Writing to an External Program.
                                                               (line   9)
-* to-command, summary:                   Option Summary.      (line 677)
+* to-command, summary:                   Option Summary.      (line 692)
 * to-stdout:                             Writing to Standard Output.
                                                               (line  14)
-* to-stdout, summary:                    Option Summary.      (line 681)
+* to-stdout, summary:                    Option Summary.      (line 696)
 * totals:                                verbose.             (line  46)
-* totals, summary:                       Option Summary.      (line 686)
+* totals, summary:                       Option Summary.      (line 701)
 * touch <1>:                             Attributes.          (line  37)
 * touch:                                 Data Modification Times.
                                                               (line  15)
-* touch, summary:                        Option Summary.      (line 691)
+* touch, summary:                        Option Summary.      (line 706)
 * transform:                             transform.           (line  74)
-* transform, summary:                    Option Summary.      (line 697)
-* uncompress:                            gzip.                (line 129)
-* uncompress, summary:                   Option Summary.      (line 151)
-* ungzip:                                gzip.                (line  88)
-* ungzip, summary:                       Option Summary.      (line 273)
+* transform, summary:                    Option Summary.      (line 712)
+* uncompress:                            gzip.                (line 141)
+* uncompress, summary:                   Option Summary.      (line 152)
+* ungzip:                                gzip.                (line  96)
+* ungzip, summary:                       Option Summary.      (line 274)
 * unlink-first:                          Unlink First.        (line   6)
 * unlink-first, introduced:              Dealing with Old Files.
                                                               (line  42)
-* unlink-first, summary:                 Option Summary.      (line 716)
+* unlink-first, summary:                 Option Summary.      (line 732)
 * unquote:                               Selecting Archive Members.
                                                               (line  39)
-* unquote, summary:                      Option Summary.      (line 722)
+* unquote, summary:                      Option Summary.      (line 738)
 * update:                                update.              (line   8)
 * update, summary:                       Operation Summary.   (line  50)
 * usage:                                 help.                (line  53)
-* use-compress-program:                  gzip.                (line 134)
-* use-compress-program, summary:         Option Summary.      (line 726)
-* utc, summary:                          Option Summary.      (line 730)
+* use-compress-program:                  gzip.                (line 146)
+* use-compress-program, summary:         Option Summary.      (line 742)
+* utc, summary:                          Option Summary.      (line 746)
 * verbose:                               verbose.             (line  18)
 * verbose, introduced:                   verbose tutorial.    (line   6)
-* verbose, summary:                      Option Summary.      (line 734)
+* verbose, summary:                      Option Summary.      (line 750)
 * verbose, using with --create:          create verbose.      (line   6)
 * verbose, using with --list:            list.                (line  30)
 * verify, short description:             verify.              (line   8)
-* verify, summary:                       Option Summary.      (line 741)
+* verify, summary:                       Option Summary.      (line 757)
 * verify, using with --create:           verify.              (line  24)
 * version:                               help.                (line   6)
-* version, summary:                      Option Summary.      (line 746)
+* version, summary:                      Option Summary.      (line 762)
 * volno-file:                            Multi-Volume Archives.
                                                               (line  71)
-* volno-file, summary:                   Option Summary.      (line 751)
+* volno-file, summary:                   Option Summary.      (line 767)
 * wildcards:                             controlling pattern-matching.
                                                               (line  38)
-* wildcards, summary:                    Option Summary.      (line 756)
+* wildcards, summary:                    Option Summary.      (line 772)
 * wildcards-match-slash:                 controlling pattern-matching.
                                                               (line  92)
-* wildcards-match-slash, summary:        Option Summary.      (line 760)
+* wildcards-match-slash, summary:        Option Summary.      (line 776)
+* xform:                                 transform.           (line  74)
+* xform, summary:                        Option Summary.      (line 712)
 
 \1f
 File: tar.info,  Node: Index,  Prev: Index of Command Line Options,  Up: Top
@@ -4767,6 +4956,7 @@ Appendix I Index
                                                               (line  23)
 * am in date strings:                    Time of day items.   (line  22)
 * Appending files to an Archive:         appending files.     (line   8)
+* Arch, excluding files:                 exclude.             (line  39)
 * archive:                               Definitions.         (line   6)
 * Archive creation:                      file.                (line  36)
 * archive member:                        Definitions.         (line  15)
@@ -4776,7 +4966,7 @@ Appendix I Index
 * Archiving Directories:                 create dir.          (line   6)
 * archiving files:                       Top.                 (line  24)
 * ARGP_HELP_FMT, environment variable:   Configuring Help Summary.
-                                                              (line  22)
+                                                              (line  21)
 * authors of get_date:                   Authors of get_date. (line   6)
 * Avoiding recursion in directories:     recurse.             (line   8)
 * backup options:                        backup.              (line   6)
@@ -4788,6 +4978,7 @@ Appendix I Index
 * BACKUP_HOUR:                           General-Purpose Variables.
                                                               (line  11)
 * backups:                               backup.              (line  41)
+* Bazaar, excluding files:               exclude.             (line  39)
 * beginning of time, for POSIX:          Seconds since the Epoch.
                                                               (line  13)
 * bell, checkpoint action:               checkpoints.         (line  65)
@@ -4802,6 +4993,7 @@ Appendix I Index
 * Blocks per record:                     Blocking Factor.     (line   6)
 * bug reports:                           Reports.             (line   6)
 * Bytes per record:                      Blocking Factor.     (line   6)
+* bzip2:                                 gzip.                (line   6)
 * calendar date item:                    Calendar date items. (line   6)
 * case, ignored in dates:                General date syntax. (line  64)
 * cat vs concatenate:                    concatenate.         (line  63)
@@ -4810,13 +5002,15 @@ Appendix I Index
 * checkpoints, defined:                  checkpoints.         (line   6)
 * Choosing an archive file:              file.                (line   8)
 * comments, in dates:                    General date syntax. (line  64)
+* compress:                              gzip.                (line   6)
 * Compressed archives:                   gzip.                (line   6)
 * concatenate vs cat:                    concatenate.         (line  63)
 * Concatenating Archives:                concatenate.         (line   6)
-* corrupted archives <1>:                gzip.                (line 107)
+* corrupted archives <1>:                gzip.                (line 115)
 * corrupted archives:                    Full Dumps.          (line   8)
 * Creation of the archive:               create.              (line   8)
 * CVS, excluding files:                  exclude.             (line  39)
+* Darcs, excluding files:                exclude.             (line  39)
 * DAT blocking:                          Blocking Factor.     (line 204)
 * Data Modification time, excluding files by: after.          (line   8)
 * Data modification times of extracted files: Data Modification Times.
@@ -4842,7 +5036,7 @@ Appendix I Index
 * displacement of dates:                 Relative items in date strings.
                                                               (line   6)
 * doc-opt-col:                           Configuring Help Summary.
-                                                              (line  95)
+                                                              (line  94)
 * dot, checkpoint action:                checkpoints.         (line  80)
 * Double-checking a write operation:     verify.              (line   6)
 * DUMP_BEGIN:                            User Hooks.          (line  32)
@@ -4851,9 +5045,9 @@ Appendix I Index
                                                               (line 102)
 * dumps, full:                           Full Dumps.          (line   8)
 * dup-args:                              Configuring Help Summary.
-                                                              (line  52)
+                                                              (line  51)
 * dup-args-note:                         Configuring Help Summary.
-                                                              (line  69)
+                                                              (line  68)
 * echo, checkpoint action:               checkpoints.         (line  25)
 * Eggert, Paul:                          Authors of get_date. (line   6)
 * End-of-archive blocks, ignoring:       Ignore Zeros.        (line   6)
@@ -4865,9 +5059,9 @@ Appendix I Index
 * Error message, block number of:        verbose.             (line 125)
 * Exabyte blocking:                      Blocking Factor.     (line 204)
 * exclude:                               exclude.             (line  14)
-* exclude-caches:                        exclude.             (line  68)
+* exclude-caches:                        exclude.             (line  84)
 * exclude-from:                          exclude.             (line  27)
-* exclude-tag:                           exclude.             (line  91)
+* exclude-tag:                           exclude.             (line 107)
 * Excluding characters from a character class: wildcards.     (line  34)
 * Excluding file by age:                 after.               (line   8)
 * Excluding files by file system:        exclude.             (line   8)
@@ -4928,11 +5122,12 @@ Appendix I Index
 * GNU.sparse.offset, extended header variable: PAX 0.         (line  18)
 * GNU.sparse.realsize, extended header variable: PAX 1.       (line  24)
 * GNU.sparse.size, extended header variable: PAX 0.           (line  11)
-* gnupg, using with tar:                 gzip.                (line 146)
-* gpg, using with tar:                   gzip.                (line 146)
+* gnupg, using with tar:                 gzip.                (line 158)
+* gpg, using with tar:                   gzip.                (line 158)
+* gzip:                                  gzip.                (line   6)
 * hard links, dereferencing:             hard links.          (line   8)
 * header-col:                            Configuring Help Summary.
-                                                              (line 141)
+                                                              (line 140)
 * hook:                                  User Hooks.          (line  13)
 * hour in date strings:                  Relative items in date strings.
                                                               (line  15)
@@ -4957,11 +5152,14 @@ Appendix I Index
 * Lists of file names:                   files.               (line   6)
 * Local and remote archives:             file.                (line  73)
 * long-opt-col:                          Configuring Help Summary.
-                                                              (line  87)
+                                                              (line  86)
+* lzma:                                  gzip.                (line   6)
+* lzop:                                  gzip.                (line   6)
 * MacKenzie, David:                      Authors of get_date. (line   6)
 * member:                                Definitions.         (line  15)
 * member name:                           Definitions.         (line  15)
 * Members, replacing with other members: append.              (line  49)
+* Mercurial, excluding files:            exclude.             (line  39)
 * Meyering, Jim:                         Authors of get_date. (line   6)
 * Middle of the archive, starting in the: Starting File.      (line  11)
 * midnight in date strings:              Time of day items.   (line  22)
@@ -5014,7 +5212,7 @@ Appendix I Index
 * Old style archives:                    old.                 (line   6)
 * Old style format:                      old.                 (line   6)
 * opt-doc-col:                           Configuring Help Summary.
-                                                              (line 127)
+                                                              (line 126)
 * option syntax, traditional:            Old Options.         (line  60)
 * Options when reading archives:         Reading.             (line   6)
 * Options, archive format specifying:    Format Variations.   (line   6)
@@ -5053,7 +5251,7 @@ Appendix I Index
 * Retrieving files from an archive:      extract.             (line   8)
 * return status:                         Synopsis.            (line  67)
 * rmargin:                               Configuring Help Summary.
-                                                              (line 160)
+                                                              (line 158)
 * rmt:                                   Remote Tape Server.  (line   6)
 * RSH:                                   General-Purpose Variables.
                                                               (line  72)
@@ -5063,7 +5261,7 @@ Appendix I Index
 * Salz, Rich:                            Authors of get_date. (line   6)
 * SCCS, excluding files:                 exclude.             (line  39)
 * short-opt-col:                         Configuring Help Summary.
-                                                              (line  79)
+                                                              (line  78)
 * simple backup method:                  backup.              (line  64)
 * SIMPLE_BACKUP_SUFFIX:                  backup.              (line  68)
 * sleep, checkpoint action:              checkpoints.         (line  90)
@@ -5188,8 +5386,8 @@ Appendix I Index
 * unpacking:                             Definitions.         (line  22)
 * Updating an archive:                   update.              (line   8)
 * usage-indent:                          Configuring Help Summary.
-                                                              (line 156)
-* Using encrypted archives:              gzip.                (line 146)
+                                                              (line 154)
+* Using encrypted archives:              gzip.                (line 158)
 * ustar archive format:                  ustar.               (line   6)
 * uuencode:                              Applications.        (line   8)
 * v7 archive format:                     old.                 (line   6)
index 5898792b57b3608e1bc1891fef6a219859c9da26..cb8bd19b900190ada00fc167b203d47091e6ffbd 100644 (file)
@@ -2407,7 +2407,8 @@ superuser privileges and can be a pain to manage.
 @itemx -a
 
 During a @option{--create} operation, enables automatic compressed
-format recognition based on the archive suffix. @xref{gzip}.
+format recognition based on the archive suffix.  The effect of this
+option is cancelled by @option{--no-auto-compress}.  @xref{gzip}.
 
 @opsummary{backup}
 @item --backup=@var{backup-type}
@@ -2785,10 +2786,16 @@ incremental format.  @xref{Incremental Dumps}.
 
 @opsummary{lzma}
 @item --lzma
+@itemx -J
 
 This option tells @command{tar} to read or write archives through
 @command{lzma}.  @xref{gzip}.
 
+@item --lzop
+
+This option tells @command{tar} to read or write archives through
+@command{lzop}.  @xref{gzip}.
+
 @opsummary{mode}
 @item --mode=@var{permissions}
 
@@ -2843,6 +2850,12 @@ changed).  @xref{after}.
 An exclude pattern can match any subsequence of the name's components.
 @xref{controlling pattern-matching}.
 
+@opsummary{no-auto-compress}
+@item --no-auto-compress
+
+Disables automatic compressed format recognition based on the archive
+suffix.  @xref{--auto-compress}.  @xref{gzip}.
+
 @opsummary{no-check-device}
 @item --no-check-device
 Do not check device numbers when creating a list of modified files
@@ -2867,6 +2880,13 @@ Use case-sensitive matching.
 Print warnings about subprocesses that terminated with a nonzero exit
 code. @xref{Writing to an External Program}.
 
+@opsummary{no-null}
+@item --no-null
+
+If the @option{--null} option was given previously, this option
+cancels its effect, so that any following @option{--files-from}
+options will expect their file lists to be newline-terminated.
+
 @opsummary{no-overwrite-dir}
 @item --no-overwrite-dir
 
@@ -3246,8 +3266,9 @@ rather than the data modification time stored in the archive.
 @xref{Data Modification Times}.
 
 @opsummary{transform}
+@opsummary{xform}
 @item --transform=@var{sed-expr}
-
+@itemx --xform=@var{sed-expr}
 Transform file or member names using @command{sed} replacement expression
 @var{sed-expr}.  For example,
 
@@ -3358,6 +3379,8 @@ them with the equivalent long option.
 
 @item -G @tab @ref{--incremental}.
 
+@item -J @tab @ref{--lzma}.
+
 @item -K @tab @ref{--starting-file}.
 
 @item -L @tab @ref{--tape-length}.
@@ -3411,7 +3434,7 @@ them with the equivalent long option.
 @item -o @tab When creating, @ref{--no-same-owner}, when extracting ---
 @ref{--portability}.
 
-The later usage is deprecated.  It is retained for compatibility with
+The latter usage is deprecated.  It is retained for compatibility with
 the earlier versions of @GNUTAR{}.  In future releases
 @option{-o} will be equivalent to @option{--no-same-owner} only.
 
@@ -3886,15 +3909,15 @@ The name of the archive @command{tar} is processing.
 
 @vrindex TAR_BLOCKING_FACTOR, checkpoint script environment
 @item TAR_BLOCKING_FACTOR
-Current blocking factor (@pxref{Blocking}.
+Current blocking factor (@pxref{Blocking}).
 
 @vrindex TAR_CHECKPOINT, checkpoint script environment
 @item TAR_CHECKPOINT
-The checkpoint number.
+Number of the checkpoint.
 
 @vrindex TAR_SUBCOMMAND, checkpoint script environment
 @item TAR_SUBCOMMAND
-A short option describing the operation @command{tar} is executing
+A short option describing the operation @command{tar} is executing.
 @xref{Operations}, for a complete list of subcommand options.
 
 @vrindex TAR_FORMAT, checkpoint script environment
@@ -6732,10 +6755,14 @@ files whose names contain newlines can be archived using
 @option{--files-from}.
 
 @table @option
-@opindex null
+@xopindex{null, described}
 @item --null
 Only consider @code{NUL} terminated file names, instead of files that
 terminate in a newline.
+
+@xopindex{no-null, described}
+@item --no-null
+Undo the effect of any previous @option{--null} option.
 @end table
 
 The @option{--null} option is just like the one in @acronym{GNU}
@@ -6759,7 +6786,37 @@ $ @kbd{find .  -size +800 -print0 > long-files}
 $ @kbd{tar -c -v --null --files-from=long-files --file=big.tar}
 @end smallexample
 
-@FIXME{say anything else here to conclude the section?}
+The @option{--no-null} option can be used if you need to read both
+zero-terminated and newline-terminated files on the same command line.
+For example, if @file{flist} is a newline-terminated file, then the
+following command can be used to combine it with the above command:
+
+@smallexample
+@group
+$ @kbd{find .  -size +800 -print0 |
+  tar -c -f big.tar --null -T - --no-null -T flist}
+@end group
+@end smallexample
+
+This example uses short options for typographic reasons, to avoid
+very long lines.
+
+@GNUTAR is able to automatically detect null-terminated file lists, so
+it is safe to use them even without the @option{--null} option.  In
+this case @command{tar} will print a warning and continue reading such
+a file as if @option{--null} were actually given:
+
+@smallexample
+@group
+$ @kbd{find .  -size +800 -print0 | tar -c -f big.tar -T -}
+tar: -: file name read contains nul character
+@end group
+@end smallexample
+
+The null terminator, however, remains in effect only for this
+particular file, any following @option{-T} options will assume
+newline termination.  Of course, the null autodetection applies
+to these eventual surplus @option{-T} options as well.
 
 @node exclude
 @section Excluding Some Files
@@ -6816,10 +6873,16 @@ However, empty lines are OK.
 @cindex CVS, excluding files
 @cindex SVN, excluding files
 @cindex git, excluding files
+@cindex Bazaar, excluding files
+@cindex Arch, excluding files
+@cindex Mercurial, excluding files
+@cindex Darcs, excluding files
 @table @option
 @opindex exclude-vcs
 @item --exclude-vcs
-Exclude files and directories used by some version control systems.
+Exclude files and directories used by following version control
+systems: @samp{CVS}, @samp{RCS}, @samp{SCCS}, @samp{SVN}, @samp{Arch},
+@samp{Bazaar}, @samp{Mercurial}, and @samp{Darcs}.
 @end table
 
 As of version @value{VERSION}, the following files are excluded:
@@ -6837,6 +6900,13 @@ As of version @value{VERSION}, the following files are excluded:
 @item @file{=RELEASE-ID}
 @item @file{=meta-update}
 @item @file{=update}
+@item @file{.bzr}
+@item @file{.bzrignore}
+@item @file{.bzrtags}
+@item @file{.hg}
+@item @file{.hgignore}
+@item @file{.hgrags}
+@item @file{_darcs}
 @end itemize
 
 @findex exclude-caches
@@ -7484,7 +7554,7 @@ characters that are quoted by default in the selected quoting style.
 
 @command{Tar} archives contain detailed information about files stored
 in them and full file names are part of that information.  When
-storing file to an archive, its file name is recorded in the archive
+storing file to an archive, its file name is recorded in it,
 along with the actual file contents.  When restoring from an archive,
 a file is created on disk with exactly the same name as that stored
 in the archive.  In the majority of cases this is the desired behavior
@@ -7501,7 +7571,7 @@ directory components, or with otherwise modified names.  In other
 cases it is desirable to store files under differing names in the
 archive.
 
-@GNUTAR{} provides two options for these needs.
+@GNUTAR{} provides several options for these needs.
 
 @table @option
 @opindex strip-components
@@ -7523,8 +7593,8 @@ The option @option{--strip=2} instructs @command{tar} to strip the
 two leading components (@file{usr/} and @file{include/}) off the file
 name.
 
-If you add to the above invocation @option{--verbose} (@option{-v})
-option, you will note that the verbose listing still contains the
+If you add the @option{--verbose} (@option{-v}) option to the invocation
+above, you will note that the verbose listing still contains the
 full file name, with the two removed components still in place.  This
 can be inconvenient, so @command{tar} provides a special option for
 altering this behavior:
@@ -7549,7 +7619,7 @@ stdlib.h
 @end group
 @end smallexample
 
-Notice that in both cases the file is @file{stdlib.h} extracted to the
+Notice that in both cases the file @file{stdlib.h} is extracted to the
 current working directory, @option{--show-transformed-names} affects
 only the way its name is displayed.
 
@@ -7575,7 +7645,9 @@ In case you need to apply more complex modifications to the file name,
 
 @table @option
 @opindex transform
+@opindex xform
 @item --transform=@var{expression}
+@itemx --xform=@var{expression}
 Modify file names using supplied @var{expression}.
 @end table
 
@@ -7593,6 +7665,21 @@ replacement for each file name part that matches @var{regexp}.  Both
 @var{regexp} and @var{replace} are described in detail in
 @ref{The "s" Command, The "s" Command, The `s' Command, sed, GNU sed}.
 
+Any delimiter can be used in lieue of @samp{/}, the only requirement being
+that it be used consistently throughout the expression. For example,
+the following two expressions are equivalent:
+
+@smallexample
+@group
+s/one/two/
+s,one,two,
+@end group
+@end smallexample
+
+Changing delimiters is often useful when the @var{regex} contains
+slashes.  For example, it is more convenient to write @code{s,/,-,} than
+@code{s/\//-/}.
+
 As in @command{sed}, you can give several replace expressions,
 separated by a semicolon.
 
@@ -7614,7 +7701,7 @@ sed, GNU sed}).
 @item @var{number}
 Only replace the @var{number}th match of the @var{regexp}.
 
-Note: the @var{posix} standard does not specify what should happen
+Note: the @acronym{POSIX} standard does not specify what should happen
 when you mix the @samp{g} and @var{number} modifiers.  @GNUTAR{}
 follows the GNU @command{sed} implementation in this regard, so
 the interaction is defined to be: ignore matches before the
@@ -7623,21 +7710,41 @@ the interaction is defined to be: ignore matches before the
 
 @end table
 
-Any delimiter can be used in lieue of @samp{/}, the only requirement being
-that it be used consistently throughout the expression. For example,
-the following two expressions are equivalent:
+In addition, several @dfn{transformation scope} flags are supported,
+that control to what files transformations apply.  These are:
+
+@table @samp
+@item r
+Apply transformation to regular archive members.
+
+@item R
+Do not apply transformation to regular archive members.
+
+@item s
+Apply transformation to symbolic link targets.
+
+@item S
+Do not apply transformation to symbolic link targets.
+
+@item h
+Apply transformation to hard link targets.
+
+@item H
+Do not apply transformation to hard link targets.
+@end table
+
+Default is @samp{rsh}, which means to apply tranformations to both archive
+members and targets of symbolic and hard links.
+
+Default scope flags can also be changed using @samp{flags=} statement
+in the transform expression.  The flags set this way remain in force
+until next @samp{flags=} statement or end of expression, whichever
+occurs first.  For example:
 
 @smallexample
-@group
-s/one/two/
-s,one,two,
-@end group
+  --transform 'flags=S;s|^|/usr/local/|'
 @end smallexample
 
-Changing delimiters is often useful when the @var{regex} contains
-slashes.  For example, it is more convenient to write @code{s,/,-,} than
-@code{s/\//-/}.
-
 Here are several examples of @option{--transform} usage:
 
 @enumerate
@@ -7654,20 +7761,59 @@ $ @kbd{tar --transform='s,usr/,usr/local/,' -x -f arch.tar}
 $ @kbd{tar --transform='s,/*[^/]*/[^/]*/,,' -x -f arch.tar}
 @end smallexample
 
+@item Convert each file name to lower case:
+
+@smallexample
+$ @kbd{tar --transform 's/.*/\L&/' -x -f arch.tar}
+@end smallexample
+
 @item Prepend @file{/prefix/}  to each file name:
 
 @smallexample
 $ @kbd{tar --transform 's,^,/prefix/,' -x -f arch.tar}
 @end smallexample
 
-@item Convert each file name to lower case:
+@item Archive the @file{/lib} directory, prepending @samp{/usr/local}
+to each archive member:
 
 @smallexample
-$ @kbd{tar --transform 's/.*/\L&/' -x -f arch.tar}
+$ @kbd{tar --transform 's,^,/usr/local/,S' -c -f arch.tar /lib}
 @end smallexample
-
 @end enumerate
 
+Notice the use of flags in the last example.  The @file{/lib}
+directory often contains many symbolic links to files within it.
+It may look, for example, like this:
+
+@smallexample
+$ @kbd{ls -l}
+drwxr-xr-x root/root       0 2008-07-08 16:20 /lib/
+-rwxr-xr-x root/root 1250840 2008-05-25 07:44 /lib/libc-2.3.2.so
+lrwxrwxrwx root/root       0 2008-06-24 17:12 /lib/libc.so.6 -> libc-2.3.2.so
+...
+@end smallexample
+
+Using the expression @samp{s,^,/usr/local/,} would mean adding
+@samp{/usr/local} to both regular archive members and to link
+targets. In this case, @file{/lib/libc.so.6} would become:
+
+@smallexample
+  /usr/local/lib/libc.so.6 -> /usr/local/libc-2.3.2.so
+@end smallexample
+
+This is definitely not desired.  To avoid this, the @samp{S} flag
+are used, which excludes symbolic link targets from filename
+transformations.  The result is:
+
+@smallexample
+$ @kbd{tar --transform 's,^,/usr/local/,S', -c -v -f arch.tar \
+       --show-transformed /lib}
+drwxr-xr-x root/root       0 2008-07-08 16:20 /usr/local/lib/
+-rwxr-xr-x root/root 1250840 2008-05-25 07:44 /usr/local/lib/libc-2.3.2.so
+lrwxrwxrwx root/root       0 2008-06-24 17:12 /usr/local/lib/libc.so.6 ->
+libc-2.3.2.so
+@end smallexample
+
 Unlike @option{--strip-components}, @option{--transform} can be used
 in any @GNUTAR{} operation mode.  For example, the following command
 adds files to the archive while replacing the leading @file{usr/}
@@ -8112,9 +8258,7 @@ the @file{/} directory first, and then avoid absolute notation.
 For example:
 
 @smallexample
-$ @kbd{(cd / && tar -c -f archive.tar home)}
-# @i{or}:
-$ @kbd{tar -c -f archive.tar -C  / home}
+$ @kbd{tar -c -f archive.tar -C / home}
 @end smallexample
 
 @include getdate.texi
@@ -8244,8 +8388,13 @@ switch to @samp{posix}.
 @cindex Compressed archives
 @cindex Storing archives in compressed format
 
+@cindex gzip
+@cindex bzip2
+@cindex lzma
+@cindex lzop
+@cindex compress
 @GNUTAR{} is able to create and read compressed archives.  It supports
-@command{gzip}, @command{bzip2} and @command{lzma} compression
+@command{gzip}, @command{bzip2}, @command{lzma} and @command{lzop} compression
 programs.  For backward compatibility, it also supports
 @command{compress} command, although we strongly recommend against
 using it, because it is by far less effective than other compression
@@ -8256,7 +8405,8 @@ Creating a compressed archive is simple: you just specify a
 commands.  The compression option is @option{-z} (@option{--gzip}) to
 create a @command{gzip} compressed archive, @option{-j}
 (@option{--bzip2}) to create a @command{bzip2} compressed archive,
-@option{--lzma} to create an @asis{LZMA} compressed archive and
+@option{-J} (@option{--lzma}) to create an @asis{LZMA} compressed
+archive, @option{--lzop} to create an @asis{LSOP} archive, and
 @option{-Z} (@option{--compress}) to use @command{compress} program.
 For example:
 
@@ -8296,6 +8446,12 @@ $ @kbd{tar tf archive.tar.gz}
 $ @kbd{tar xf archive.tar.gz}
 @end smallexample
 
+The format recognition algorithm is based on @dfn{signatures}, a
+special byte sequences in the beginning of file, that are specific for
+certain compression formats.  If this approach fails, @command{tar}
+falls back to using archive name suffix to determine its format
+(@xref{auto-compress}, for a list of recognized suffixes).
+
 The only case when you have to specify a decompression option while
 reading the archive is when reading from a pipe or from a tape drive
 that does not support random access.  However, in this case @GNUTAR{}
@@ -8331,7 +8487,7 @@ The following table summarizes compression options used by @GNUTAR{}.
 @item --auto-compress
 @itemx -a
 Select a compression program to use by the archive file name
-suffix. The following suffixes are recognized:
+suffix.  The following suffixes are recognized:
 
 @multitable @columnfractions 0.3 0.6
 @headitem Suffix @tab Compression program
@@ -8346,6 +8502,7 @@ suffix. The following suffixes are recognized:
 @item @samp{.tbz} @tab @command{bzip2}
 @item @samp{.lzma} @tab @command{lzma}
 @item @samp{.tlz} @tab @command{lzma}
+@item @samp{.lzo} @tab @command{lzop}
 @end multitable
 
 @opindex gzip
@@ -8396,8 +8553,14 @@ Filter the archive through @code{bzip2}.  Otherwise like @option{--gzip}.
 
 @opindex lzma
 @item --lzma
+@itemx -J
 Filter the archive through @command{lzma}.  Otherwise like @option{--gzip}.
 
+@opindex lzop
+@item --lzop
+Filter the archive through @command{lzop}.  Otherwise like
+@option{--gzip}.
+
 @opindex compress
 @opindex uncompress
 @item -Z
index 580b5862a043fe0bb955c6f127491ed18fee56c8..eb2c3a098a5974f0dc0538df67e0b796f495d391 100644 (file)
@@ -1,4 +1,4 @@
-@set UPDATED 14 April 2008
-@set UPDATED-MONTH April 2008
-@set EDITION 1.20
-@set VERSION 1.20
+@set UPDATED 30 October 2008
+@set UPDATED-MONTH October 2008
+@set EDITION 1.21
+@set VERSION 1.21
index 1dbc63597e6d576989b0e519cbc2a65e7fa51936..41352ce6027c31602b6f9f242e44083969a0d244 100644 (file)
@@ -42,7 +42,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=libtar --source-base=.#bootmp/lib --m4-base=.#bootmp/m4 --doc-base=.#bootmp/doc --aux-dir=.#bootmp/build-aux --avoid=lock --avoid=size_max --no-libtool --macro-prefix=gl alloca argmatch argp backupfile closeout configmake dirname error exclude exitfail fileblocks fnmatch-gnu fseeko ftruncate full-write getdate getline getopt getpagesize gettext gettime hash human inttostr inttypes lchown localcharset memset mkdtemp modechange obstack quote quotearg rmdir rpmatch safe-read save-cwd savedir setenv snprintf stat-time stdbool stdint stpcpy strdup strerror strtol strtoul timespec unlinkdir unlocked-io utime utimens version-etc-fsf xalloc xalloc-die xgetcwd xstrtoumax
+# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libtar --source-base=.#bootmp/lib --m4-base=.#bootmp/m4 --doc-base=.#bootmp/doc --tests-base=.#bootmp/tests --aux-dir=.#bootmp/build-aux --avoid=lock --avoid=size_max --no-libtool --macro-prefix=gl alloca argmatch argp backupfile closeout configmake dirname error exclude exitfail fileblocks fnmatch-gnu fseeko ftruncate full-write getdate getline getopt getpagesize gettext gettime hash human inttostr inttypes lchown localcharset memset mkdtemp modechange obstack quote quotearg rmdir rpmatch safe-read save-cwd savedir setenv snprintf stat-time stdbool stdint stpcpy strdup strerror strtol strtoul timespec unlinkdir unlocked-io utime utimens version-etc-fsf xalloc xalloc-die xgetcwd xstrtoumax
 
 
 
@@ -75,19 +75,20 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/alloca.m4 \
        $(top_srcdir)/m4/canonicalize-lgpl.m4 \
        $(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \
        $(top_srcdir)/m4/clock_time.m4 \
-       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/closeout.m4 \
-       $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/d-ino.m4 \
+       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
+       $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/d-ino.m4 $(top_srcdir)/m4/dirent_h.m4 \
        $(top_srcdir)/m4/dirfd.m4 $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \
        $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \
-       $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/eoverflow.m4 \
+       $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \
        $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exclude.m4 \
        $(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.m4 \
-       $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fcntl-safer.m4 \
-       $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fileblocks.m4 \
-       $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
-       $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseeko.m4 \
-       $(top_srcdir)/m4/ftruncate.m4 \
+       $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fclose.m4 \
+       $(top_srcdir)/m4/fcntl-safer.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+       $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/float_h.m4 \
+       $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \
+       $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/ftruncate.m4 \
        $(top_srcdir)/m4/getcwd-abort-bug.m4 \
        $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
        $(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getdelim.m4 \
@@ -112,41 +113,43 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/alloca.m4 \
        $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \
        $(top_srcdir)/m4/memset.m4 $(top_srcdir)/m4/mkdtemp.m4 \
        $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/modechange.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/openat.m4 \
-       $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/open.m4 \
+       $(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/paxutils.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/progtest.m4 \
        $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
-       $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
-       $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rmdir.m4 \
-       $(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \
-       $(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \
-       $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \
-       $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/sleep.m4 $(top_srcdir)/m4/snprintf.m4 \
-       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
-       $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
-       $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \
-       $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
-       $(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcase.m4 \
-       $(top_srcdir)/m4/strchrnul.m4 $(top_srcdir)/m4/strdup.m4 \
-       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/string_h.m4 \
-       $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \
-       $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoimax.m4 \
-       $(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/strtoll.m4 \
-       $(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \
-       $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/sys_stat_h.m4 \
-       $(top_srcdir)/m4/sys_time_h.m4 $(top_srcdir)/m4/sysexits.m4 \
-       $(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \
-       $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
-       $(top_srcdir)/m4/unistd-safer.m4 $(top_srcdir)/m4/unistd_h.m4 \
-       $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \
-       $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utime.m4 \
-       $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimes-null.m4 \
-       $(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \
-       $(top_srcdir)/m4/vsnprintf.m4 $(top_srcdir)/m4/wchar.m4 \
-       $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wctype.m4 \
-       $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \
+       $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/readlink.m4 \
+       $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \
+       $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rmt.m4 \
+       $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/rtapelib.m4 \
+       $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \
+       $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \
+       $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \
+       $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \
+       $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stdarg.m4 \
+       $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stdint.m4 \
+       $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/stpcpy.m4 \
+       $(top_srcdir)/m4/strcase.m4 $(top_srcdir)/m4/strchrnul.m4 \
+       $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
+       $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \
+       $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
+       $(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \
+       $(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \
+       $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
+       $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
+       $(top_srcdir)/m4/sysexits.m4 $(top_srcdir)/m4/system.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
+       $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlinkdir.m4 \
+       $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \
+       $(top_srcdir)/m4/utime.m4 $(top_srcdir)/m4/utimens.m4 \
+       $(top_srcdir)/m4/utimes-null.m4 $(top_srcdir)/m4/utimes.m4 \
+       $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vsnprintf.m4 \
+       $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wchar_t.m4 \
+       $(top_srcdir)/m4/wctype.m4 $(top_srcdir)/m4/wcwidth.m4 \
+       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/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)/configure.ac
@@ -165,9 +168,9 @@ am_libtar_a_OBJECTS = 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) \
-       full-write.$(OBJEXT) getdate.$(OBJEXT) localcharset.$(OBJEXT) \
-       malloca.$(OBJEXT) mbchar.$(OBJEXT) mbscasecmp.$(OBJEXT) \
-       openat-die.$(OBJEXT) strnlen1.$(OBJEXT) \
+       c-ctype.$(OBJEXT) full-write.$(OBJEXT) getdate.$(OBJEXT) \
+       localcharset.$(OBJEXT) malloca.$(OBJEXT) mbchar.$(OBJEXT) \
+       mbscasecmp.$(OBJEXT) openat-die.$(OBJEXT) strnlen1.$(OBJEXT) \
        uniwidth/width.$(OBJEXT) version-etc.$(OBJEXT) \
        version-etc-fsf.$(OBJEXT) xalloc-die.$(OBJEXT) \
        xstrndup.$(OBJEXT) xstrtoumax.$(OBJEXT) paxerror.$(OBJEXT) \
@@ -186,9 +189,19 @@ YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS)
 YLWRAP = $(top_srcdir)/build-aux/ylwrap
 SOURCES = $(libtar_a_SOURCES) $(EXTRA_libtar_a_SOURCES)
 DIST_SOURCES = $(libtar_a_SOURCES) $(EXTRA_libtar_a_SOURCES)
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+       html-recursive info-recursive install-data-recursive \
+       install-dvi-recursive install-exec-recursive \
+       install-html-recursive install-info-recursive \
+       install-pdf-recursive install-ps-recursive install-recursive \
+       installcheck-recursive installdirs-recursive pdf-recursive \
+       ps-recursive uninstall-recursive
 HEADERS = $(noinst_HEADERS)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
+  distclean-recursive maintainer-clean-recursive
 ETAGS = etags
 CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 ALLOCA = @ALLOCA@
@@ -226,7 +239,13 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
-EOVERFLOW = @EOVERFLOW@
+EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
+EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
+ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
+ENOLINK_VALUE = @ENOLINK_VALUE@
+EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
+EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
+ERRNO_H = @ERRNO_H@
 EXEEXT = @EXEEXT@
 FCNTL_H = @FCNTL_H@
 FLOAT_H = @FLOAT_H@
@@ -236,30 +255,47 @@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CHOWN = @GNULIB_CHOWN@
+GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DIRFD = @GNULIB_DIRFD@
 GNULIB_DUP2 = @GNULIB_DUP2@
 GNULIB_ENVIRON = @GNULIB_ENVIRON@
+GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
 GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
 GNULIB_FFLUSH = @GNULIB_FFLUSH@
 GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
 GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
 GNULIB_FREOPEN = @GNULIB_FREOPEN@
 GNULIB_FSEEK = @GNULIB_FSEEK@
 GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSYNC = @GNULIB_FSYNC@
 GNULIB_FTELL = @GNULIB_FTELL@
 GNULIB_FTELLO = @GNULIB_FTELLO@
 GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FWRITE = @GNULIB_FWRITE@
 GNULIB_GETCWD = @GNULIB_GETCWD@
 GNULIB_GETDELIM = @GNULIB_GETDELIM@
+GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
+GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
 GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
+GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
 GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
 GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
@@ -280,15 +316,26 @@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
 GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
 GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
 GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
+GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READLINK = @GNULIB_READLINK@
 GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SETENV = @GNULIB_SETENV@
 GNULIB_SLEEP = @GNULIB_SLEEP@
 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
 GNULIB_STPCPY = @GNULIB_STPCPY@
 GNULIB_STPNCPY = @GNULIB_STPNCPY@
 GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
@@ -304,25 +351,35 @@ GNULIB_STRSTR = @GNULIB_STRSTR@
 GNULIB_STRTOD = @GNULIB_STRTOD@
 GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
 GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
 GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
+GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNSETENV = @GNULIB_UNSETENV@
 GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
 GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
 GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
 GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
 GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
 GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WRITE = @GNULIB_WRITE@
 GREP = @GREP@
+HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
+HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
-HAVE_DECL_MKDIR = @HAVE_DECL_MKDIR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
@@ -336,22 +393,31 @@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
 HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
 HAVE_DUP2 = @HAVE_DUP2@
+HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
 HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSYNC = @HAVE_FSYNC@
 HAVE_FTELLO = @HAVE_FTELLO@
 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
+HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
-HAVE_IO_H = @HAVE_IO_H@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LCHMOD = @HAVE_LCHMOD@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
 HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
 HAVE_MEMPCPY = @HAVE_MEMPCPY@
 HAVE_MKDTEMP = @HAVE_MKDTEMP@
 HAVE_OS_H = @HAVE_OS_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
+HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
+HAVE_RPMATCH = @HAVE_RPMATCH@
 HAVE_SETENV = @HAVE_SETENV@
 HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
 HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
@@ -367,10 +433,15 @@ HAVE_STRNDUP = @HAVE_STRNDUP@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRSEP = @HAVE_STRSEP@
 HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
+HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
@@ -412,6 +483,7 @@ MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
 NEXT_DIRENT_H = @NEXT_DIRENT_H@
+NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_FLOAT_H = @NEXT_FLOAT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
@@ -437,13 +509,16 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 POSUB = @POSUB@
+PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
 PRIPTR_PREFIX = @PRIPTR_PREFIX@
 PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 PU_RMT_PROG = @PU_RMT_PROG@
 RANLIB = @RANLIB@
 REPLACE_CHOWN = @REPLACE_CHOWN@
+REPLACE_CLOSE = @REPLACE_CLOSE@
 REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
@@ -456,18 +531,25 @@ REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
 REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
 REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_PERROR = @REPLACE_PERROR@
 REPLACE_PRINTF = @REPLACE_PRINTF@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
 REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
 REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
 REPLACE_STRPTIME = @REPLACE_STRPTIME@
 REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
@@ -480,6 +562,7 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WRITE = @REPLACE_WRITE@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
@@ -495,6 +578,7 @@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 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@
+UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 VOID_UNSETENV = @VOID_UNSETENV@
@@ -561,6 +645,7 @@ target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects
+SUBDIRS = 
 noinst_HEADERS = system.h system-ioctl.h rmt.h paxlib.h stdopen.h
 noinst_LIBRARIES = libtar.a
 noinst_LTLIBRARIES = 
@@ -576,33 +661,35 @@ noinst_LTLIBRARIES =
 #AM_CPPFLAGS += -I$(top_builddir)/intl
 EXTRA_DIST = alloca.c alloca.in.h argmatch.c argmatch.h backupfile.c \
        backupfile.h canonicalize-lgpl.c canonicalize.h chdir-long.c \
-       chdir-long.h chown.c fchown-stub.c close-stream.c \
-       close-stream.h closeout.c closeout.h dirfd.c dirfd.h \
-       basename.c dirname.c dirname.h stripslash.c dup2.c error.c \
-       error.h exclude.c exclude.h exitfail.c exitfail.h dirent.in.h \
-       fchdir.c fcntl.in.h creat-safer.c fcntl--.h fcntl-safer.h \
-       open-safer.c fileblocks.c float.in.h fnmatch.c fnmatch.in.h \
-       fnmatch_loop.c fpending.c fpending.h fseeko.c ftruncate.c \
-       getcwd.c getdate.c getdate.h getdelim.c getline.c getopt.c \
-       getopt.in.h getopt1.c getopt_int.h getpagesize.c \
+       chdir-long.h chown.c fchown-stub.c close.c close-stream.c \
+       close-stream.h closeout.c closeout.h dirent.in.h dirfd.c \
+       basename.c dirname.c dirname.h stripslash.c dup2.c errno.in.h \
+       error.c error.h exclude.c exclude.h exitfail.c exitfail.h \
+       fchdir.c fclose.c fcntl.in.h creat-safer.c fcntl--.h \
+       fcntl-safer.h open-safer.c fileblocks.c float.in.h fnmatch.c \
+       fnmatch.in.h fnmatch_loop.c fpending.c fpending.h fseeko.c \
+       stdio-impl.h ftruncate.c getcwd.c getdate.c getdate.h \
+       getdelim.c getline.c getopt.c getopt.in.h getopt1.c \
+       getopt_int.h getpagesize.c \
        $(top_srcdir)/build-aux/config.rpath gettime.c gettimeofday.c \
        hash.c hash.h $(top_srcdir)/build-aux/config.rpath human.c \
        human.h intprops.h imaxtostr.c inttostr.c inttostr.h \
        offtostr.c uinttostr.c umaxtostr.c inttypes.in.h lchown.c \
        $(top_srcdir)/build-aux/link-warning.h config.charset \
-       ref-add.sin ref-del.sin lseek.c lstat.c lstat.h malloc.c \
-       malloc.c malloca.h malloca.valgrind mbchar.h memchr.c \
-       mempcpy.c memrchr.c memset.c mkdtemp.c mktime.c modechange.c \
-       modechange.h obstack.c obstack.h at-func.c fchmodat.c \
+       ref-add.sin ref-del.sin lseek.c lstat.c malloc.c malloc.c \
+       malloca.h malloca.valgrind mbchar.h memchr.c mempcpy.c \
+       memrchr.c memset.c mkdtemp.c mktime.c modechange.c \
+       modechange.h obstack.c obstack.h open.c at-func.c fchmodat.c \
        fchownat.c fstatat.c mkdirat.c openat-priv.h openat-proc.c \
        openat.c openat.h pathmax.h quote.c quote.h quotearg.c \
-       quotearg.h readlink.c realloc.c regcomp.c regex.c regex.h \
-       regex_internal.c regex_internal.h regexec.c rmdir.c rpmatch.c \
-       safe-read.c safe-read.h safe-write.c safe-write.h same-inode.h \
-       save-cwd.c save-cwd.h savedir.c savedir.h setenv.c sleep.c \
-       snprintf.c stat-macros.h stat-time.h stdarg.in.h stdbool.in.h \
-       stdint.in.h stdio.in.h stdlib.in.h stpcpy.c strcasecmp.c \
-       strncasecmp.c strchrnul.c strdup.c streq.h strerror.c \
+       quotearg.h rawmemchr.c rawmemchr.valgrind readlink.c realloc.c \
+       regcomp.c regex.c regex.h regex_internal.c regex_internal.h \
+       regexec.c rmdir.c rpmatch.c safe-read.c safe-read.h \
+       safe-write.c safe-write.h same-inode.h save-cwd.c save-cwd.h \
+       savedir.c savedir.h setenv.c sleep.c snprintf.c stat-macros.h \
+       stat-time.h stdarg.in.h stdbool.in.h stdint.in.h stdio-write.c \
+       stdio.in.h stdlib.in.h stpcpy.c strcasecmp.c strncasecmp.c \
+       strchrnul.c strchrnul.valgrind strdup.c streq.h strerror.c \
        string.in.h strings.in.h strndup.c strnlen.c strtoimax.c \
        strtol.c strtoll.c strtoul.c strtoull.c strtoumax.c \
        sys_stat.in.h sys_time.in.h sysexits.in.h tempname.c \
@@ -613,22 +700,24 @@ EXTRA_DIST = alloca.c alloca.in.h argmatch.c argmatch.h backupfile.c \
        utimens.c utimens.h asnprintf.c float+.h printf-args.c \
        printf-args.h printf-parse.c printf-parse.h vasnprintf.c \
        vasnprintf.h vsnprintf.c wchar.in.h wctype.in.h wcwidth.c \
-       xalloc.h xmalloc.c xgetcwd.c xgetcwd.h xstrtol-error.c \
+       write.c xalloc.h xmalloc.c xgetcwd.c xgetcwd.h xstrtol-error.c \
        xstrtol.c xstrtol.h xstrtoul.c
-BUILT_SOURCES = $(ALLOCA_H) configmake.h $(DIRENT_H) $(FCNTL_H) \
-       $(FLOAT_H) $(FNMATCH_H) getdate.c $(GETOPT_H) $(INTTYPES_H) \
-       $(STDARG_H) $(STDBOOL_H) $(STDINT_H) stdio.h stdlib.h string.h \
-       strings.h $(SYS_STAT_H) $(SYS_TIME_H) $(SYSEXITS_H) time.h \
-       unistd.h $(WCHAR_H) $(WCTYPE_H) rmt-command.h
+BUILT_SOURCES = $(ALLOCA_H) configmake.h $(DIRENT_H) $(ERRNO_H) \
+       $(FCNTL_H) $(FLOAT_H) $(FNMATCH_H) getdate.c $(GETOPT_H) \
+       $(INTTYPES_H) $(STDARG_H) $(STDBOOL_H) $(STDINT_H) stdio.h \
+       stdlib.h string.h strings.h $(SYS_STAT_H) $(SYS_TIME_H) \
+       $(SYSEXITS_H) time.h unistd.h $(WCHAR_H) $(WCTYPE_H) \
+       rmt-command.h
 SUFFIXES = .sed .sin
 MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t dirent.h \
-       dirent.h-t fcntl.h fcntl.h-t float.h float.h-t fnmatch.h \
-       fnmatch.h-t getopt.h getopt.h-t inttypes.h inttypes.h-t \
-       stdarg.h stdarg.h-t stdbool.h stdbool.h-t stdint.h stdint.h-t \
-       stdio.h stdio.h-t stdlib.h stdlib.h-t string.h string.h-t \
-       strings.h strings.h-t sys/stat.h sys/stat.h-t sys/time.h \
-       sys/time.h-t sysexits.h sysexits.h-t time.h time.h-t unistd.h \
-       unistd.h-t wchar.h wchar.h-t wctype.h wctype.h-t
+       dirent.h-t errno.h errno.h-t fcntl.h fcntl.h-t float.h \
+       float.h-t fnmatch.h fnmatch.h-t getopt.h getopt.h-t inttypes.h \
+       inttypes.h-t stdarg.h stdarg.h-t stdbool.h stdbool.h-t \
+       stdint.h stdint.h-t stdio.h stdio.h-t stdlib.h stdlib.h-t \
+       string.h string.h-t strings.h strings.h-t sys/stat.h \
+       sys/stat.h-t sys/time.h sys/time.h-t sysexits.h sysexits.h-t \
+       time.h time.h-t unistd.h unistd.h-t wchar.h wchar.h-t wctype.h \
+       wctype.h-t
 MOSTLYCLEANDIRS = sys
 CLEANFILES = configmake.h configmake.h-t charset.alias ref-add.sed \
        ref-del.sed rmt-command.h rmt-command.h-t
@@ -638,42 +727,44 @@ AM_CPPFLAGS =
 libtar_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 \
-       full-write.h full-write.c getdate.y gettext.h localcharset.h \
-       localcharset.c malloca.c mbchar.c mbscasecmp.c mbuiter.h \
-       openat-die.c strnlen1.h strnlen1.c uniwidth/width.c verify.h \
-       version-etc.h version-etc.c version-etc-fsf.c xalloc-die.c \
-       xsize.h xstrndup.h xstrndup.c xstrtoumax.c paxerror.c \
-       paxexit.c paxlib.h paxnames.c prepargs.c prepargs.h rtapelib.c \
-       rmt.h stdopen.c stdopen.h system.h system-ioctl.h
+       c-ctype.h c-ctype.c full-write.h full-write.c getdate.y \
+       gettext.h localcharset.h localcharset.c malloca.c mbchar.c \
+       mbscasecmp.c mbuiter.h openat-die.c strnlen1.h strnlen1.c \
+       uniwidth/width.c verify.h version-etc.h version-etc.c \
+       version-etc-fsf.c xalloc-die.c xsize.h xstrndup.h xstrndup.c \
+       xstrtoumax.c paxerror.c paxexit.c paxlib.h paxnames.c \
+       prepargs.c prepargs.h rtapelib.c rmt.h stdopen.c stdopen.h \
+       system.h system-ioctl.h
 libtar_a_LIBADD = $(gl_LIBOBJS) @ALLOCA@ $(LIBOBJS)
 libtar_a_DEPENDENCIES = $(gl_LIBOBJS) @ALLOCA@ $(LIBOBJS)
 EXTRA_libtar_a_SOURCES = alloca.c argmatch.c backupfile.c \
-       canonicalize-lgpl.c chdir-long.c chown.c fchown-stub.c \
+       canonicalize-lgpl.c chdir-long.c chown.c fchown-stub.c close.c \
        close-stream.c closeout.c dirfd.c basename.c dirname.c \
        stripslash.c dup2.c error.c exclude.c exitfail.c fchdir.c \
-       creat-safer.c open-safer.c fileblocks.c fnmatch.c \
+       fclose.c creat-safer.c open-safer.c fileblocks.c fnmatch.c \
        fnmatch_loop.c fpending.c fseeko.c ftruncate.c getcwd.c \
        getdelim.c getline.c getopt.c getopt1.c getpagesize.c \
        gettime.c gettimeofday.c hash.c human.c imaxtostr.c inttostr.c \
        offtostr.c uinttostr.c umaxtostr.c lchown.c lseek.c lstat.c \
        malloc.c malloc.c memchr.c mempcpy.c memrchr.c memset.c \
-       mkdtemp.c mktime.c modechange.c obstack.c at-func.c fchmodat.c \
-       fchownat.c fstatat.c mkdirat.c openat-proc.c openat.c quote.c \
-       quotearg.c readlink.c realloc.c regcomp.c regex.c \
-       regex_internal.c regexec.c rmdir.c rpmatch.c safe-read.c \
-       safe-write.c save-cwd.c savedir.c setenv.c sleep.c snprintf.c \
-       stpcpy.c strcasecmp.c strncasecmp.c strchrnul.c strdup.c \
-       strerror.c strndup.c strnlen.c strtoimax.c strtol.c strtoll.c \
-       strtoul.c strtoull.c strtoumax.c tempname.c time_r.c \
-       dup-safer.c fd-safer.c pipe-safer.c unlinkdir.c unsetenv.c \
-       utime.c utimens.c asnprintf.c printf-args.c printf-parse.c \
-       vasnprintf.c vsnprintf.c wcwidth.c xmalloc.c xgetcwd.c \
+       mkdtemp.c mktime.c modechange.c obstack.c open.c at-func.c \
+       fchmodat.c fchownat.c fstatat.c mkdirat.c openat-proc.c \
+       openat.c quote.c quotearg.c rawmemchr.c readlink.c realloc.c \
+       regcomp.c regex.c regex_internal.c regexec.c rmdir.c rpmatch.c \
+       safe-read.c safe-write.c save-cwd.c savedir.c setenv.c sleep.c \
+       snprintf.c stdio-write.c stpcpy.c strcasecmp.c strncasecmp.c \
+       strchrnul.c strdup.c strerror.c strndup.c strnlen.c \
+       strtoimax.c strtol.c strtoll.c strtoul.c strtoull.c \
+       strtoumax.c tempname.c time_r.c dup-safer.c fd-safer.c \
+       pipe-safer.c unlinkdir.c unsetenv.c utime.c utimens.c \
+       asnprintf.c printf-args.c printf-parse.c vasnprintf.c \
+       vsnprintf.c wcwidth.c write.c xmalloc.c xgetcwd.c \
        xstrtol-error.c xstrtol.c xstrtoul.c
 LINK_WARNING_H = $(top_srcdir)/build-aux/link-warning.h
 charset_alias = $(DESTDIR)$(libdir)/charset.alias
 charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
 all: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) all-am
+       $(MAKE) $(AM_MAKEFLAGS) all-recursive
 
 .SUFFIXES:
 .SUFFIXES: .sed .sin .c .o .obj .y
@@ -756,10 +847,12 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/at-func.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/backupfile.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-ctype.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/canonicalize-lgpl.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chdir-long.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chown.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close-stream.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/close.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/closeout.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/creat-safer.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirfd.Po@am__quote@
@@ -773,6 +866,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown-stub.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fclose.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fd-safer.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileblocks.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fnmatch.Po@am__quote@
@@ -814,6 +908,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/obstack.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/offtostr.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open-safer.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat-die.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat-proc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat.Po@am__quote@
@@ -826,6 +921,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/printf-parse.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quote.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quotearg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rawmemchr.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readlink.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/realloc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regcomp.Po@am__quote@
@@ -842,6 +938,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setenv.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sleep.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snprintf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stdio-write.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stdopen.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stpcpy.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strcasecmp.Po@am__quote@
@@ -872,6 +969,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version-etc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vsnprintf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wcwidth.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/write.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xalloc-die.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetcwd.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmalloc.Po@am__quote@
@@ -901,6 +999,76 @@ distclean-compile:
 .y.c:
        $(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE)
 
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+       @failcom='exit 1'; \
+       for f in x $$MAKEFLAGS; do \
+         case $$f in \
+           *=* | --[!k]*);; \
+           *k*) failcom='fail=yes';; \
+         esac; \
+       done; \
+       dot_seen=no; \
+       target=`echo $@ | sed s/-recursive//`; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         echo "Making $$target in $$subdir"; \
+         if test "$$subdir" = "."; then \
+           dot_seen=yes; \
+           local_target="$$target-am"; \
+         else \
+           local_target="$$target"; \
+         fi; \
+         (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+         || eval $$failcom; \
+       done; \
+       if test "$$dot_seen" = "no"; then \
+         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+       fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+       @failcom='exit 1'; \
+       for f in x $$MAKEFLAGS; do \
+         case $$f in \
+           *=* | --[!k]*);; \
+           *k*) failcom='fail=yes';; \
+         esac; \
+       done; \
+       dot_seen=no; \
+       case "$@" in \
+         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+         *) list='$(SUBDIRS)' ;; \
+       esac; \
+       rev=''; for subdir in $$list; do \
+         if test "$$subdir" = "."; then :; else \
+           rev="$$subdir $$rev"; \
+         fi; \
+       done; \
+       rev="$$rev ."; \
+       target=`echo $@ | sed s/-recursive//`; \
+       for subdir in $$rev; do \
+         echo "Making $$target in $$subdir"; \
+         if test "$$subdir" = "."; then \
+           local_target="$$target-am"; \
+         else \
+           local_target="$$target"; \
+         fi; \
+         (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+         || eval $$failcom; \
+       done && test -z "$$fail"
+tags-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+       done
+ctags-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+       done
+
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
        list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
@@ -911,10 +1079,23 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
        mkid -fID $$unique
 tags: TAGS
 
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
        tags=; \
        here=`pwd`; \
+       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+         include_option=--etags-include; \
+         empty_fix=.; \
+       else \
+         include_option=--include; \
+         empty_fix=; \
+       fi; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           test ! -f $$subdir/TAGS || \
+             tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+         fi; \
+       done; \
        list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
        unique=`for i in $$list; do \
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
@@ -927,7 +1108,7 @@ TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
            $$tags $$unique; \
        fi
 ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
        tags=; \
        list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
@@ -974,21 +1155,39 @@ distdir: $(DISTFILES)
            || exit 1; \
          fi; \
        done
+       list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           test -d "$(distdir)/$$subdir" \
+           || $(MKDIR_P) "$(distdir)/$$subdir" \
+           || exit 1; \
+           distdir=`$(am__cd) $(distdir) && pwd`; \
+           top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+           (cd $$subdir && \
+             $(MAKE) $(AM_MAKEFLAGS) \
+               top_distdir="$$top_distdir" \
+               distdir="$$distdir/$$subdir" \
+               am__remove_distdir=: \
+               am__skip_length_check=: \
+               distdir) \
+             || exit 1; \
+         fi; \
+       done
 check-am: all-am
 check: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) check-am
+       $(MAKE) $(AM_MAKEFLAGS) check-recursive
 all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS) all-local
-installdirs:
+installdirs: installdirs-recursive
+installdirs-am:
 install: $(BUILT_SOURCES)
-       $(MAKE) $(AM_MAKEFLAGS) install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
+       $(MAKE) $(AM_MAKEFLAGS) install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
 
 install-am: all-am
        @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
 
-installcheck: installcheck-am
+installcheck: installcheck-recursive
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
          install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
@@ -1012,80 +1211,82 @@ maintainer-clean-generic:
        -rm -f getdate.c
        -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
        -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-clean: clean-am
+clean: clean-recursive
 
 clean-am: clean-generic clean-noinstLIBRARIES clean-noinstLTLIBRARIES \
        mostlyclean-am
 
-distclean: distclean-am
+distclean: distclean-recursive
        -rm -rf $(DEPDIR) ./$(DEPDIR) uniwidth/$(DEPDIR)
        -rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
        distclean-tags
 
-dvi: dvi-am
+dvi: dvi-recursive
 
 dvi-am:
 
-html: html-am
+html: html-recursive
 
-info: info-am
+info: info-recursive
 
 info-am:
 
 install-data-am:
 
-install-dvi: install-dvi-am
+install-dvi: install-dvi-recursive
 
 install-exec-am: install-exec-local
 
-install-html: install-html-am
+install-html: install-html-recursive
 
-install-info: install-info-am
+install-info: install-info-recursive
 
 install-man:
 
-install-pdf: install-pdf-am
+install-pdf: install-pdf-recursive
 
-install-ps: install-ps-am
+install-ps: install-ps-recursive
 
 installcheck-am:
 
-maintainer-clean: maintainer-clean-am
+maintainer-clean: maintainer-clean-recursive
        -rm -rf $(DEPDIR) ./$(DEPDIR) uniwidth/$(DEPDIR)
        -rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
-mostlyclean: mostlyclean-am
+mostlyclean: mostlyclean-recursive
 
 mostlyclean-am: mostlyclean-compile mostlyclean-generic \
        mostlyclean-local
 
-pdf: pdf-am
+pdf: pdf-recursive
 
 pdf-am:
 
-ps: ps-am
+ps: ps-recursive
 
 ps-am:
 
 uninstall-am: uninstall-local
 
-.MAKE: install-am install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+       install-strip
 
-.PHONY: CTAGS GTAGS all all-am all-local check check-am clean \
-       clean-generic clean-noinstLIBRARIES clean-noinstLTLIBRARIES \
-       ctags distclean distclean-compile distclean-generic \
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+       all all-am all-local check check-am clean clean-generic \
+       clean-noinstLIBRARIES clean-noinstLTLIBRARIES ctags \
+       ctags-recursive distclean distclean-compile distclean-generic \
        distclean-tags distdir dvi dvi-am html html-am info info-am \
        install install-am install-data install-data-am install-dvi \
        install-dvi-am install-exec install-exec-am install-exec-local \
        install-html install-html-am install-info install-info-am \
        install-man install-pdf install-pdf-am install-ps \
        install-ps-am install-strip installcheck installcheck-am \
-       installdirs maintainer-clean maintainer-clean-generic \
-       mostlyclean mostlyclean-compile mostlyclean-generic \
-       mostlyclean-local pdf pdf-am ps ps-am tags uninstall \
-       uninstall-am uninstall-local
+       installdirs installdirs-am maintainer-clean \
+       maintainer-clean-generic mostlyclean mostlyclean-compile \
+       mostlyclean-generic mostlyclean-local pdf pdf-am ps ps-am tags \
+       tags-recursive uninstall uninstall-am uninstall-local
 
 
 # We need the following in order to create <alloca.h> when the system
@@ -1152,18 +1353,41 @@ dirent.h: dirent.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
          sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \
+             -e 's|@''GNULIB_DIRFD''@|$(GNULIB_DIRFD)|g' \
+             -e 's|@''HAVE_DECL_DIRFD''@|$(HAVE_DECL_DIRFD)|g' \
              -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
+             -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
              < $(srcdir)/dirent.in.h; \
        } > $@-t
        mv $@-t $@
 
+# We need the following in order to create <errno.h> when the system
+# doesn't have one that is POSIX compliant.
+errno.h: errno.in.h
+       rm -f $@-t $@
+       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+         sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''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 $@
+
 # 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
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+         sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \
              -e 's|@''GNULIB_OPEN''@|$(GNULIB_OPEN)|g' \
              -e 's|@''REPLACE_OPEN''@|$(REPLACE_OPEN)|g' \
@@ -1176,7 +1400,8 @@ fcntl.h: fcntl.in.h
 float.h: float.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+         sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \
              < $(srcdir)/float.in.h; \
        } > $@-t
@@ -1204,7 +1429,8 @@ inttypes.h: inttypes.in.h
        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|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \
              -e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \
              -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
@@ -1275,7 +1501,8 @@ charset.alias: config.charset
 stdarg.h: stdarg.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+         sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_STDARG_H''@|$(NEXT_STDARG_H)|g' \
              < $(srcdir)/stdarg.in.h; \
        } > $@-t
@@ -1296,7 +1523,8 @@ stdint.h: stdint.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
          sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
-             -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|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' \
@@ -1326,17 +1554,24 @@ stdint.h: stdint.in.h
 stdio.h: stdio.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+         sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \
+             -e 's|@''GNULIB_FPRINTF''@|$(GNULIB_FPRINTF)|g' \
              -e 's|@''GNULIB_FPRINTF_POSIX''@|$(GNULIB_FPRINTF_POSIX)|g' \
+             -e 's|@''GNULIB_PRINTF''@|$(GNULIB_PRINTF)|g' \
              -e 's|@''GNULIB_PRINTF_POSIX''@|$(GNULIB_PRINTF_POSIX)|g' \
              -e 's|@''GNULIB_SNPRINTF''@|$(GNULIB_SNPRINTF)|g' \
              -e 's|@''GNULIB_SPRINTF_POSIX''@|$(GNULIB_SPRINTF_POSIX)|g' \
+             -e 's|@''GNULIB_VFPRINTF''@|$(GNULIB_VFPRINTF)|g' \
              -e 's|@''GNULIB_VFPRINTF_POSIX''@|$(GNULIB_VFPRINTF_POSIX)|g' \
+             -e 's|@''GNULIB_VPRINTF''@|$(GNULIB_VPRINTF)|g' \
              -e 's|@''GNULIB_VPRINTF_POSIX''@|$(GNULIB_VPRINTF_POSIX)|g' \
              -e 's|@''GNULIB_VSNPRINTF''@|$(GNULIB_VSNPRINTF)|g' \
              -e 's|@''GNULIB_VSPRINTF_POSIX''@|$(GNULIB_VSPRINTF_POSIX)|g' \
              -e 's|@''GNULIB_VASPRINTF''@|$(GNULIB_VASPRINTF)|g' \
+             -e 's|@''GNULIB_OBSTACK_PRINTF''@|$(GNULIB_OBSTACK_PRINTF)|g' \
+             -e 's|@''GNULIB_OBSTACK_PRINTF_POSIX''@|$(GNULIB_OBSTACK_PRINTF_POSIX)|g' \
              -e 's|@''GNULIB_FOPEN''@|$(GNULIB_FOPEN)|g' \
              -e 's|@''GNULIB_FREOPEN''@|$(GNULIB_FREOPEN)|g' \
              -e 's|@''GNULIB_FSEEK''@|$(GNULIB_FSEEK)|g' \
@@ -1344,8 +1579,18 @@ stdio.h: stdio.in.h
              -e 's|@''GNULIB_FTELL''@|$(GNULIB_FTELL)|g' \
              -e 's|@''GNULIB_FTELLO''@|$(GNULIB_FTELLO)|g' \
              -e 's|@''GNULIB_FFLUSH''@|$(GNULIB_FFLUSH)|g' \
+             -e 's|@''GNULIB_FCLOSE''@|$(GNULIB_FCLOSE)|g' \
+             -e 's|@''GNULIB_FPUTC''@|$(GNULIB_FPUTC)|g' \
+             -e 's|@''GNULIB_PUTC''@|$(GNULIB_PUTC)|g' \
+             -e 's|@''GNULIB_PUTCHAR''@|$(GNULIB_PUTCHAR)|g' \
+             -e 's|@''GNULIB_FPUTS''@|$(GNULIB_FPUTS)|g' \
+             -e 's|@''GNULIB_PUTS''@|$(GNULIB_PUTS)|g' \
+             -e 's|@''GNULIB_FWRITE''@|$(GNULIB_FWRITE)|g' \
              -e 's|@''GNULIB_GETDELIM''@|$(GNULIB_GETDELIM)|g' \
              -e 's|@''GNULIB_GETLINE''@|$(GNULIB_GETLINE)|g' \
+             -e 's|@''GNULIB_PERROR''@|$(GNULIB_PERROR)|g' \
+             -e 's|@''GNULIB_STDIO_H_SIGPIPE''@|$(GNULIB_STDIO_H_SIGPIPE)|g' \
+             -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \
              -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \
              -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \
              -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \
@@ -1358,6 +1603,8 @@ stdio.h: stdio.in.h
              -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \
              -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \
              -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \
+             -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \
+             -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \
              -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \
              -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \
              -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \
@@ -1365,9 +1612,11 @@ stdio.h: stdio.in.h
              -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \
              -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \
              -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \
+             -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \
              -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \
              -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \
              -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \
+             -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \
              -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
              < $(srcdir)/stdio.in.h; \
        } > $@-t
@@ -1378,26 +1627,41 @@ stdio.h: stdio.in.h
 stdlib.h: stdlib.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+         sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \
              -e 's|@''GNULIB_MALLOC_POSIX''@|$(GNULIB_MALLOC_POSIX)|g' \
              -e 's|@''GNULIB_REALLOC_POSIX''@|$(GNULIB_REALLOC_POSIX)|g' \
              -e 's|@''GNULIB_CALLOC_POSIX''@|$(GNULIB_CALLOC_POSIX)|g' \
+             -e 's|@''GNULIB_ATOLL''@|$(GNULIB_ATOLL)|g' \
+             -e 's|@''GNULIB_GETLOADAVG''@|$(GNULIB_GETLOADAVG)|g' \
              -e 's|@''GNULIB_GETSUBOPT''@|$(GNULIB_GETSUBOPT)|g' \
              -e 's|@''GNULIB_MKDTEMP''@|$(GNULIB_MKDTEMP)|g' \
              -e 's|@''GNULIB_MKSTEMP''@|$(GNULIB_MKSTEMP)|g' \
              -e 's|@''GNULIB_PUTENV''@|$(GNULIB_PUTENV)|g' \
+             -e 's|@''GNULIB_RANDOM_R''@|$(GNULIB_RANDOM_R)|g' \
+             -e 's|@''GNULIB_RPMATCH''@|$(GNULIB_RPMATCH)|g' \
              -e 's|@''GNULIB_SETENV''@|$(GNULIB_SETENV)|g' \
              -e 's|@''GNULIB_STRTOD''@|$(GNULIB_STRTOD)|g' \
+             -e 's|@''GNULIB_STRTOLL''@|$(GNULIB_STRTOLL)|g' \
+             -e 's|@''GNULIB_STRTOULL''@|$(GNULIB_STRTOULL)|g' \
              -e 's|@''GNULIB_UNSETENV''@|$(GNULIB_UNSETENV)|g' \
+             -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
              -e 's|@''HAVE_CALLOC_POSIX''@|$(HAVE_CALLOC_POSIX)|g' \
              -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
              -e 's|@''HAVE_MALLOC_POSIX''@|$(HAVE_MALLOC_POSIX)|g' \
              -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
              -e 's|@''HAVE_REALLOC_POSIX''@|$(HAVE_REALLOC_POSIX)|g' \
+             -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
+             -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
              -e 's|@''HAVE_SETENV''@|$(HAVE_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_UNSETENV''@|$(HAVE_UNSETENV)|g' \
+             -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
              -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
              -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
              -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
@@ -1412,7 +1676,8 @@ stdlib.h: stdlib.in.h
 string.h: string.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+         sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \
              -e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \
              -e 's|@''GNULIB_MBSNLEN''@|$(GNULIB_MBSNLEN)|g' \
@@ -1431,6 +1696,7 @@ string.h: string.in.h
              -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' \
@@ -1444,9 +1710,11 @@ string.h: string.in.h
              -e 's|@''GNULIB_STRTOK_R''@|$(GNULIB_STRTOK_R)|g' \
              -e 's|@''GNULIB_STRERROR''@|$(GNULIB_STRERROR)|g' \
              -e 's|@''GNULIB_STRSIGNAL''@|$(GNULIB_STRSIGNAL)|g' \
+             -e 's|@''GNULIB_STRVERSCMP''@|$(GNULIB_STRVERSCMP)|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' \
@@ -1460,8 +1728,10 @@ string.h: string.in.h
              -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \
              -e 's|@''HAVE_DECL_STRERROR''@|$(HAVE_DECL_STRERROR)|g' \
              -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \
+             -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \
              -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
              -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
+             -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
              -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
              -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
              -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
@@ -1475,7 +1745,8 @@ string.h: string.in.h
 strings.h: strings.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+         sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_STRINGS_H''@|$(NEXT_STRINGS_H)|g' \
              -e 's|@''HAVE_STRCASECMP''@|$(HAVE_STRCASECMP)|g' \
              -e 's|@''HAVE_DECL_STRNCASECMP''@|$(HAVE_DECL_STRNCASECMP)|g' \
@@ -1490,11 +1761,16 @@ sys/stat.h: sys_stat.in.h
        @MKDIR_P@ sys
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+         sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \
-             -e 's|@''HAVE_IO_H''@|$(HAVE_IO_H)|g' \
+             -e 's|@''GNULIB_LCHMOD''@|$(GNULIB_LCHMOD)|g' \
+             -e 's|@''GNULIB_LSTAT''@|$(GNULIB_LSTAT)|g' \
+             -e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \
              -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \
-             -e 's|@''HAVE_DECL_MKDIR''@|$(HAVE_DECL_MKDIR)|g' \
+             -e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \
+             -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \
+             -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
              < $(srcdir)/sys_stat.in.h; \
        } > $@-t
        mv $@-t $@
@@ -1506,7 +1782,8 @@ sys/time.h: sys_time.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
          sed -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \
-             -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \
              -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \
              -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \
@@ -1519,7 +1796,8 @@ sys/time.h: sys_time.in.h
 sysexits.h: sysexits.in.h
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
          sed -e 's|@''HAVE_SYSEXITS_H''@|$(HAVE_SYSEXITS_H)|g' \
-             -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_SYSEXITS_H''@|$(NEXT_SYSEXITS_H)|g' \
              < $(srcdir)/sysexits.in.h; \
        } > $@-t
@@ -1530,7 +1808,8 @@ sysexits.h: sysexits.in.h
 time.h: time.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+         sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \
              -e 's|@REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
              -e 's|@REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
@@ -1548,23 +1827,39 @@ unistd.h: unistd.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
          sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
-             -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
              -e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \
+             -e 's|@''GNULIB_CLOSE''@|$(GNULIB_CLOSE)|g' \
              -e 's|@''GNULIB_DUP2''@|$(GNULIB_DUP2)|g' \
              -e 's|@''GNULIB_ENVIRON''@|$(GNULIB_ENVIRON)|g' \
+             -e 's|@''GNULIB_EUIDACCESS''@|$(GNULIB_EUIDACCESS)|g' \
              -e 's|@''GNULIB_FCHDIR''@|$(GNULIB_FCHDIR)|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_GETHOSTNAME''@|$(GNULIB_GETHOSTNAME)|g' \
              -e 's|@''GNULIB_GETLOGIN_R''@|$(GNULIB_GETLOGIN_R)|g' \
              -e 's|@''GNULIB_GETPAGESIZE''@|$(GNULIB_GETPAGESIZE)|g' \
+             -e 's|@''GNULIB_GETUSERSHELL''@|$(GNULIB_GETUSERSHELL)|g' \
              -e 's|@''GNULIB_LCHOWN''@|$(GNULIB_LCHOWN)|g' \
              -e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \
              -e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \
              -e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \
+             -e 's|@''GNULIB_UNISTD_H_SIGPIPE''@|$(GNULIB_UNISTD_H_SIGPIPE)|g' \
+             -e 's|@''GNULIB_WRITE''@|$(GNULIB_WRITE)|g' \
              -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \
+             -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \
+             -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \
              -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
+             -e 's|@''HAVE_GETDOMAINNAME''@|$(HAVE_GETDOMAINNAME)|g' \
+             -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \
+             -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
              -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
+             -e 's|@''HAVE_GETUSERSHELL''@|$(HAVE_GETUSERSHELL)|g' \
              -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \
              -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
              -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
@@ -1572,11 +1867,15 @@ unistd.h: unistd.in.h
              -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
              -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
              -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
+             -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \
              -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
              -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
              -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
              -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
              -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \
+             -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \
+             -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \
+             -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
              < $(srcdir)/unistd.in.h; \
        } > $@-t
        mv $@-t $@
@@ -1586,10 +1885,12 @@ unistd.h: unistd.in.h
 wchar.h: wchar.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+         sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
              -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
              -e 's|@''GNULIB_WCWIDTH''@|$(GNULIB_WCWIDTH)|g' \
+             -e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \
              -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
              -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
              -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
@@ -1603,10 +1904,12 @@ wctype.h: wctype.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
          sed -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \
-             -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \
              -e 's/@''HAVE_ISWCNTRL''@/$(HAVE_ISWCNTRL)/g' \
              -e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \
+             -e 's/@''REPLACE_ISWCNTRL''@/$(REPLACE_ISWCNTRL)/g' \
              < $(srcdir)/wctype.in.h; \
        } > $@-t
        mv $@-t $@
index 1cd6eac6dcff5afad4c83f276295f17c1d396381..73157e0c5623ba6aee08e0c0853928a3d52b2f99 100644 (file)
@@ -206,14 +206,44 @@ extern int __argp_fmtstream_ensure (argp_fmtstream_t __fs, size_t __amount);
       inline semantics, unless -fgnu89-inline is used.  It defines a macro
       __GNUC_STDC_INLINE__ to indicate this situation or a macro
       __GNUC_GNU_INLINE__ to indicate the opposite situation.
+
       GCC 4.2 with -std=c99 or -std=gnu99 implements the GNU C inline
       semantics but warns, unless -fgnu89-inline is used:
         warning: C99 inline functions are not supported; using GNU89
         warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute
-      It defines a macro __GNUC_GNU_INLINE__ to indicate this situation.  */
+      It defines a macro __GNUC_GNU_INLINE__ to indicate this situation.
+
+      Whereas Apple GCC 4.0.1 build 5479 without -std=c99 or -std=gnu99
+      implements the GNU C inline semantics and defines the macro
+      __GNUC_GNU_INLINE__, but it does not warn and does not support
+      __attribute__ ((__gnu_inline__)).
+
+      All in all, these are the possible combinations.  For every compiler,
+      we need to choose ARGP_FS_EI so that the corresponding table cell
+      contains an "ok".
+
+        \    ARGP_FS_EI                      inline   extern    extern
+          \                                           inline    inline
+      CC    \                                                   __attribute__
+                                                                ((gnu_inline))
+
+      gcc 4.3.0                              error    ok        ok
+      gcc 4.3.0 -std=gnu99 -fgnu89-inline    error    ok        ok
+      gcc 4.3.0 -std=gnu99                   ok       error     ok
+
+      gcc 4.2.2                              error    ok        ok
+      gcc 4.2.2 -std=gnu99 -fgnu89-inline    error    ok        ok
+      gcc 4.2.2 -std=gnu99                   error    warning   ok
+
+      gcc 4.1.2                              error    ok        warning
+      gcc 4.1.2 -std=gnu99                   error    ok        warning
+
+      Apple gcc 4.0.1                        error    ok        warning
+      Apple gcc 4.0.1 -std=gnu99             ok       error     warning
+    */
 #  if defined __GNUC_STDC_INLINE__
 #   define ARGP_FS_EI inline
-#  elif defined __GNUC_GNU_INLINE__
+#  elif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)
 #   define ARGP_FS_EI extern inline __attribute__ ((__gnu_inline__))
 #  else
 #   define ARGP_FS_EI extern inline
index 4c0ca60c590d4799c1a804cbba8e865b5687c081..a9843c0aa3b158c2477da8a1498863c432fd0e79 100644 (file)
@@ -88,11 +88,11 @@ struct uparams
   int dup_args_note;
 
   /* Various output columns.  */
-  int short_opt_col;      /* column in which short options start */   
-  int long_opt_col;       /* column in which long options start */ 
+  int short_opt_col;      /* column in which short options start */
+  int long_opt_col;       /* column in which long options start */
   int doc_opt_col;        /* column in which doc options start */
   int opt_doc_col;        /* column in which option text starts */
-  int header_col;         /* column in which group headers are printed */ 
+  int header_col;         /* column in which group headers are printed */
   int usage_indent;       /* indentation of wrapped usage lines */
   int rmargin;            /* right margin used for wrapping */
 
@@ -160,7 +160,7 @@ fill_in_uparams (const struct argp_state *state)
 {
   const char *var = getenv ("ARGP_HELP_FMT");
   struct uparams new_params = uparams;
-  
+
 #define SKIPWS(p) do { while (isspace ((unsigned char) *p)) p++; } while (0);
 
   if (var)
@@ -169,7 +169,7 @@ fill_in_uparams (const struct argp_state *state)
       while (*var)
        {
          SKIPWS (var);
-         
+
          if (isalpha ((unsigned char) *var))
            {
              size_t var_len;
@@ -180,9 +180,9 @@ fill_in_uparams (const struct argp_state *state)
              while (isalnum ((unsigned char) *arg) || *arg == '-' || *arg == '_')
                arg++;
              var_len = arg - var;
-             
+
              SKIPWS (arg);
-             
+
              if (*arg == '\0' || *arg == ',')
                unspec = 1;
              else if (*arg == '=')
@@ -190,7 +190,7 @@ fill_in_uparams (const struct argp_state *state)
                  arg++;
                  SKIPWS (arg);
                }
-             
+
              if (unspec)
                {
                  if (var[0] == 'n' && var[1] == 'o' && var[2] == '-')
@@ -209,7 +209,7 @@ fill_in_uparams (const struct argp_state *state)
                    arg++;
                  SKIPWS (arg);
                }
-             
+
              for (un = uparam_names; un->name; un++)
                if (strlen (un->name) == var_len
                    && strncmp (var, un->name, var_len) == 0)
@@ -676,7 +676,7 @@ hol_cluster_cmp (const struct hol_cluster *cl1, const struct hol_cluster *cl2)
 {
   /* If one cluster is deeper than the other, use its ancestor at the same
      level, so that finding the common ancestor is straightforward.
-     
+
      clN->depth > 0 means that clN->parent != NULL (see hol_add_cluster) */
   while (cl1->depth > cl2->depth)
     cl1 = cl1->parent;
@@ -806,7 +806,7 @@ hol_entry_cmp (const struct hol_entry *entry1,
 #endif
          /* Compare ignoring case, except when the options are both the
             same letter, in which case lower-case always comes first.  */
-         return lower_cmp ? lower_cmp : 
+         return lower_cmp ? lower_cmp :
                     (rc = first2 - first1) ?
                     rc : HOL_ENTRY_PTRCMP(entry1, entry2);
        }
index d86256a8a76846ecb5127111c41a6bfa17010c4c..317ce21b36b4a0b82008c11a58d90bda7d1c20d4 100644 (file)
@@ -889,7 +889,7 @@ __argp_parse (const struct argp *argp, int argc, char **argv, unsigned flags,
 #endif
     }
 #endif
-       
+
   if (! (flags & ARGP_NO_HELP))
     /* Add our own options.  */
     {
diff --git a/lib/c-ctype.c b/lib/c-ctype.c
new file mode 100644 (file)
index 0000000..a669d7a
--- /dev/null
@@ -0,0 +1,398 @@
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* Character handling in C locale.
+
+   Copyright 2000-2003, 2006 Free Software Foundation, Inc.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+
+#include <config.h>
+
+/* Specification.  */
+#define NO_C_CTYPE_MACROS
+#include "c-ctype.h"
+
+/* The function isascii is not locale dependent. Its use in EBCDIC is
+   questionable. */
+bool
+c_isascii (int c)
+{
+  return (c >= 0x00 && c <= 0x7f);
+}
+
+bool
+c_isalnum (int c)
+{
+#if C_CTYPE_CONSECUTIVE_DIGITS \
+    && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
+#if C_CTYPE_ASCII
+  return ((c >= '0' && c <= '9')
+          || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z'));
+#else
+  return ((c >= '0' && c <= '9')
+          || (c >= 'A' && c <= 'Z')
+          || (c >= 'a' && c <= 'z'));
+#endif
+#else
+  switch (c)
+    {
+    case '0': case '1': case '2': case '3': case '4': case '5':
+    case '6': case '7': case '8': case '9':
+    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
+    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
+    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
+    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
+    case 'Y': case 'Z':
+    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
+    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
+    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
+    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
+    case 'y': case 'z':
+      return 1;
+    default:
+      return 0;
+    }
+#endif
+}
+
+bool
+c_isalpha (int c)
+{
+#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
+#if C_CTYPE_ASCII
+  return ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z');
+#else
+  return ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'));
+#endif
+#else
+  switch (c)
+    {
+    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
+    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
+    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
+    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
+    case 'Y': case 'Z':
+    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
+    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
+    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
+    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
+    case 'y': case 'z':
+      return 1;
+    default:
+      return 0;
+    }
+#endif
+}
+
+bool
+c_isblank (int c)
+{
+  return (c == ' ' || c == '\t');
+}
+
+bool
+c_iscntrl (int c)
+{
+#if C_CTYPE_ASCII
+  return ((c & ~0x1f) == 0 || c == 0x7f);
+#else
+  switch (c)
+    {
+    case ' ': case '!': case '"': case '#': case '$': case '%':
+    case '&': case '\'': case '(': case ')': case '*': case '+':
+    case ',': case '-': case '.': case '/':
+    case '0': case '1': case '2': case '3': case '4': case '5':
+    case '6': case '7': case '8': case '9':
+    case ':': case ';': case '<': case '=': case '>': case '?':
+    case '@':
+    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
+    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
+    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
+    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
+    case 'Y': case 'Z':
+    case '[': case '\\': case ']': case '^': case '_': case '`':
+    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
+    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
+    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
+    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
+    case 'y': case 'z':
+    case '{': case '|': case '}': case '~':
+      return 0;
+    default:
+      return 1;
+    }
+#endif
+}
+
+bool
+c_isdigit (int c)
+{
+#if C_CTYPE_CONSECUTIVE_DIGITS
+  return (c >= '0' && c <= '9');
+#else
+  switch (c)
+    {
+    case '0': case '1': case '2': case '3': case '4': case '5':
+    case '6': case '7': case '8': case '9':
+      return 1;
+    default:
+      return 0;
+    }
+#endif
+}
+
+bool
+c_islower (int c)
+{
+#if C_CTYPE_CONSECUTIVE_LOWERCASE
+  return (c >= 'a' && c <= 'z');
+#else
+  switch (c)
+    {
+    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
+    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
+    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
+    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
+    case 'y': case 'z':
+      return 1;
+    default:
+      return 0;
+    }
+#endif
+}
+
+bool
+c_isgraph (int c)
+{
+#if C_CTYPE_ASCII
+  return (c >= '!' && c <= '~');
+#else
+  switch (c)
+    {
+    case '!': case '"': case '#': case '$': case '%': case '&':
+    case '\'': case '(': case ')': case '*': case '+': case ',':
+    case '-': case '.': case '/':
+    case '0': case '1': case '2': case '3': case '4': case '5':
+    case '6': case '7': case '8': case '9':
+    case ':': case ';': case '<': case '=': case '>': case '?':
+    case '@':
+    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
+    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
+    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
+    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
+    case 'Y': case 'Z':
+    case '[': case '\\': case ']': case '^': case '_': case '`':
+    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
+    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
+    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
+    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
+    case 'y': case 'z':
+    case '{': case '|': case '}': case '~':
+      return 1;
+    default:
+      return 0;
+    }
+#endif
+}
+
+bool
+c_isprint (int c)
+{
+#if C_CTYPE_ASCII
+  return (c >= ' ' && c <= '~');
+#else
+  switch (c)
+    {
+    case ' ': case '!': case '"': case '#': case '$': case '%':
+    case '&': case '\'': case '(': case ')': case '*': case '+':
+    case ',': case '-': case '.': case '/':
+    case '0': case '1': case '2': case '3': case '4': case '5':
+    case '6': case '7': case '8': case '9':
+    case ':': case ';': case '<': case '=': case '>': case '?':
+    case '@':
+    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
+    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
+    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
+    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
+    case 'Y': case 'Z':
+    case '[': case '\\': case ']': case '^': case '_': case '`':
+    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
+    case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
+    case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
+    case 's': case 't': case 'u': case 'v': case 'w': case 'x':
+    case 'y': case 'z':
+    case '{': case '|': case '}': case '~':
+      return 1;
+    default:
+      return 0;
+    }
+#endif
+}
+
+bool
+c_ispunct (int c)
+{
+#if C_CTYPE_ASCII
+  return ((c >= '!' && c <= '~')
+          && !((c >= '0' && c <= '9')
+               || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z')));
+#else
+  switch (c)
+    {
+    case '!': case '"': case '#': case '$': case '%': case '&':
+    case '\'': case '(': case ')': case '*': case '+': case ',':
+    case '-': case '.': case '/':
+    case ':': case ';': case '<': case '=': case '>': case '?':
+    case '@':
+    case '[': case '\\': case ']': case '^': case '_': case '`':
+    case '{': case '|': case '}': case '~':
+      return 1;
+    default:
+      return 0;
+    }
+#endif
+}
+
+bool
+c_isspace (int c)
+{
+  return (c == ' ' || c == '\t'
+          || c == '\n' || c == '\v' || c == '\f' || c == '\r');
+}
+
+bool
+c_isupper (int c)
+{
+#if C_CTYPE_CONSECUTIVE_UPPERCASE
+  return (c >= 'A' && c <= 'Z');
+#else
+  switch (c)
+    {
+    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
+    case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
+    case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
+    case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
+    case 'Y': case 'Z':
+      return 1;
+    default:
+      return 0;
+    }
+#endif
+}
+
+bool
+c_isxdigit (int c)
+{
+#if C_CTYPE_CONSECUTIVE_DIGITS \
+    && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
+#if C_CTYPE_ASCII
+  return ((c >= '0' && c <= '9')
+          || ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'F'));
+#else
+  return ((c >= '0' && c <= '9')
+          || (c >= 'A' && c <= 'F')
+          || (c >= 'a' && c <= 'f'));
+#endif
+#else
+  switch (c)
+    {
+    case '0': case '1': case '2': case '3': case '4': case '5':
+    case '6': case '7': case '8': case '9':
+    case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
+    case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
+      return 1;
+    default:
+      return 0;
+    }
+#endif
+}
+
+int
+c_tolower (int c)
+{
+#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
+  return (c >= 'A' && c <= 'Z' ? c - 'A' + 'a' : c);
+#else
+  switch (c)
+    {
+    case 'A': return 'a';
+    case 'B': return 'b';
+    case 'C': return 'c';
+    case 'D': return 'd';
+    case 'E': return 'e';
+    case 'F': return 'f';
+    case 'G': return 'g';
+    case 'H': return 'h';
+    case 'I': return 'i';
+    case 'J': return 'j';
+    case 'K': return 'k';
+    case 'L': return 'l';
+    case 'M': return 'm';
+    case 'N': return 'n';
+    case 'O': return 'o';
+    case 'P': return 'p';
+    case 'Q': return 'q';
+    case 'R': return 'r';
+    case 'S': return 's';
+    case 'T': return 't';
+    case 'U': return 'u';
+    case 'V': return 'v';
+    case 'W': return 'w';
+    case 'X': return 'x';
+    case 'Y': return 'y';
+    case 'Z': return 'z';
+    default: return c;
+    }
+#endif
+}
+
+int
+c_toupper (int c)
+{
+#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
+  return (c >= 'a' && c <= 'z' ? c - 'a' + 'A' : c);
+#else
+  switch (c)
+    {
+    case 'a': return 'A';
+    case 'b': return 'B';
+    case 'c': return 'C';
+    case 'd': return 'D';
+    case 'e': return 'E';
+    case 'f': return 'F';
+    case 'g': return 'G';
+    case 'h': return 'H';
+    case 'i': return 'I';
+    case 'j': return 'J';
+    case 'k': return 'K';
+    case 'l': return 'L';
+    case 'm': return 'M';
+    case 'n': return 'N';
+    case 'o': return 'O';
+    case 'p': return 'P';
+    case 'q': return 'Q';
+    case 'r': return 'R';
+    case 's': return 'S';
+    case 't': return 'T';
+    case 'u': return 'U';
+    case 'v': return 'V';
+    case 'w': return 'W';
+    case 'x': return 'X';
+    case 'y': return 'Y';
+    case 'z': return 'Z';
+    default: return c;
+    }
+#endif
+}
diff --git a/lib/c-ctype.h b/lib/c-ctype.h
new file mode 100644 (file)
index 0000000..a0ab083
--- /dev/null
@@ -0,0 +1,297 @@
+/* -*- 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>,
+   except that they have the C (POSIX) locale hardwired, whereas the
+   <ctype.h> functions' behaviour depends on the current locale set via
+   setlocale.
+
+   Copyright (C) 2000-2003, 2006, 2008 Free Software Foundation, Inc.
+
+This 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, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+
+#ifndef C_CTYPE_H
+#define C_CTYPE_H
+
+#include <stdbool.h>
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* The functions defined in this file assume the "C" locale and a character
+   set without diacritics (ASCII-US or EBCDIC-US or something like that).
+   Even if the "C" locale on a particular system is an extension of the ASCII
+   character set (like on BeOS, where it is UTF-8, or on AmigaOS, where it
+   is ISO-8859-1), the functions in this file recognize only the ASCII
+   characters.  */
+
+
+/* Check whether the ASCII optimizations apply. */
+
+/* ANSI C89 (and ISO C99 5.2.1.3 too) already guarantees that
+   '0', '1', ..., '9' have consecutive integer values.  */
+#define C_CTYPE_CONSECUTIVE_DIGITS 1
+
+#if ('A' <= 'Z') \
+    && ('A' + 1 == 'B') && ('B' + 1 == 'C') && ('C' + 1 == 'D') \
+    && ('D' + 1 == 'E') && ('E' + 1 == 'F') && ('F' + 1 == 'G') \
+    && ('G' + 1 == 'H') && ('H' + 1 == 'I') && ('I' + 1 == 'J') \
+    && ('J' + 1 == 'K') && ('K' + 1 == 'L') && ('L' + 1 == 'M') \
+    && ('M' + 1 == 'N') && ('N' + 1 == 'O') && ('O' + 1 == 'P') \
+    && ('P' + 1 == 'Q') && ('Q' + 1 == 'R') && ('R' + 1 == 'S') \
+    && ('S' + 1 == 'T') && ('T' + 1 == 'U') && ('U' + 1 == 'V') \
+    && ('V' + 1 == 'W') && ('W' + 1 == 'X') && ('X' + 1 == 'Y') \
+    && ('Y' + 1 == 'Z')
+#define C_CTYPE_CONSECUTIVE_UPPERCASE 1
+#endif
+
+#if ('a' <= 'z') \
+    && ('a' + 1 == 'b') && ('b' + 1 == 'c') && ('c' + 1 == 'd') \
+    && ('d' + 1 == 'e') && ('e' + 1 == 'f') && ('f' + 1 == 'g') \
+    && ('g' + 1 == 'h') && ('h' + 1 == 'i') && ('i' + 1 == 'j') \
+    && ('j' + 1 == 'k') && ('k' + 1 == 'l') && ('l' + 1 == 'm') \
+    && ('m' + 1 == 'n') && ('n' + 1 == 'o') && ('o' + 1 == 'p') \
+    && ('p' + 1 == 'q') && ('q' + 1 == 'r') && ('r' + 1 == 's') \
+    && ('s' + 1 == 't') && ('t' + 1 == 'u') && ('u' + 1 == 'v') \
+    && ('v' + 1 == 'w') && ('w' + 1 == 'x') && ('x' + 1 == 'y') \
+    && ('y' + 1 == 'z')
+#define C_CTYPE_CONSECUTIVE_LOWERCASE 1
+#endif
+
+#if (' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
+    && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
+    && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
+    && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
+    && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
+    && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
+    && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
+    && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
+    && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
+    && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
+    && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
+    && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
+    && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
+    && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
+    && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
+    && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
+    && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
+    && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
+    && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
+    && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
+    && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
+    && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
+    && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)
+/* The character set is ASCII or one of its variants or extensions, not EBCDIC.
+   Testing the value of '\n' and '\r' is not relevant.  */
+#define C_CTYPE_ASCII 1
+#endif
+
+
+/* Function declarations. */
+
+/* Unlike the functions in <ctype.h>, which require an argument in the range
+   of the 'unsigned char' type, the functions here operate on values that are
+   in the 'unsigned char' range or in the 'char' range.  In other words,
+   when you have a 'char' value, you need to cast it before using it as
+   argument to a <ctype.h> function:
+
+         const char *s = ...;
+         if (isalpha ((unsigned char) *s)) ...
+
+   but you don't need to cast it for the functions defined in this file:
+
+         const char *s = ...;
+         if (c_isalpha (*s)) ...
+ */
+
+extern bool c_isascii (int c); /* not locale dependent */
+
+extern bool c_isalnum (int c);
+extern bool c_isalpha (int c);
+extern bool c_isblank (int c);
+extern bool c_iscntrl (int c);
+extern bool c_isdigit (int c);
+extern bool c_islower (int c);
+extern bool c_isgraph (int c);
+extern bool c_isprint (int c);
+extern bool c_ispunct (int c);
+extern bool c_isspace (int c);
+extern bool c_isupper (int c);
+extern bool c_isxdigit (int c);
+
+extern int c_tolower (int c);
+extern int c_toupper (int c);
+
+
+#if defined __GNUC__ && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ && !defined NO_C_CTYPE_MACROS
+
+/* ASCII optimizations. */
+
+#undef c_isascii
+#define c_isascii(c) \
+  ({ int __c = (c); \
+     (__c >= 0x00 && __c <= 0x7f); \
+   })
+
+#if C_CTYPE_CONSECUTIVE_DIGITS \
+    && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
+#if C_CTYPE_ASCII
+#undef c_isalnum
+#define c_isalnum(c) \
+  ({ int __c = (c); \
+     ((__c >= '0' && __c <= '9') \
+      || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z')); \
+   })
+#else
+#undef c_isalnum
+#define c_isalnum(c) \
+  ({ int __c = (c); \
+     ((__c >= '0' && __c <= '9') \
+      || (__c >= 'A' && __c <= 'Z') \
+      || (__c >= 'a' && __c <= 'z')); \
+   })
+#endif
+#endif
+
+#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
+#if C_CTYPE_ASCII
+#undef c_isalpha
+#define c_isalpha(c) \
+  ({ int __c = (c); \
+     ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z'); \
+   })
+#else
+#undef c_isalpha
+#define c_isalpha(c) \
+  ({ int __c = (c); \
+     ((__c >= 'A' && __c <= 'Z') || (__c >= 'a' && __c <= 'z')); \
+   })
+#endif
+#endif
+
+#undef c_isblank
+#define c_isblank(c) \
+  ({ int __c = (c); \
+     (__c == ' ' || __c == '\t'); \
+   })
+
+#if C_CTYPE_ASCII
+#undef c_iscntrl
+#define c_iscntrl(c) \
+  ({ int __c = (c); \
+     ((__c & ~0x1f) == 0 || __c == 0x7f); \
+   })
+#endif
+
+#if C_CTYPE_CONSECUTIVE_DIGITS
+#undef c_isdigit
+#define c_isdigit(c) \
+  ({ int __c = (c); \
+     (__c >= '0' && __c <= '9'); \
+   })
+#endif
+
+#if C_CTYPE_CONSECUTIVE_LOWERCASE
+#undef c_islower
+#define c_islower(c) \
+  ({ int __c = (c); \
+     (__c >= 'a' && __c <= 'z'); \
+   })
+#endif
+
+#if C_CTYPE_ASCII
+#undef c_isgraph
+#define c_isgraph(c) \
+  ({ int __c = (c); \
+     (__c >= '!' && __c <= '~'); \
+   })
+#endif
+
+#if C_CTYPE_ASCII
+#undef c_isprint
+#define c_isprint(c) \
+  ({ int __c = (c); \
+     (__c >= ' ' && __c <= '~'); \
+   })
+#endif
+
+#if C_CTYPE_ASCII
+#undef c_ispunct
+#define c_ispunct(c) \
+  ({ int _c = (c); \
+     (c_isgraph (_c) && ! c_isalnum (_c)); \
+   })
+#endif
+
+#undef c_isspace
+#define c_isspace(c) \
+  ({ int __c = (c); \
+     (__c == ' ' || __c == '\t' \
+      || __c == '\n' || __c == '\v' || __c == '\f' || __c == '\r'); \
+   })
+
+#if C_CTYPE_CONSECUTIVE_UPPERCASE
+#undef c_isupper
+#define c_isupper(c) \
+  ({ int __c = (c); \
+     (__c >= 'A' && __c <= 'Z'); \
+   })
+#endif
+
+#if C_CTYPE_CONSECUTIVE_DIGITS \
+    && C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
+#if C_CTYPE_ASCII
+#undef c_isxdigit
+#define c_isxdigit(c) \
+  ({ int __c = (c); \
+     ((__c >= '0' && __c <= '9') \
+      || ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'F')); \
+   })
+#else
+#undef c_isxdigit
+#define c_isxdigit(c) \
+  ({ int __c = (c); \
+     ((__c >= '0' && __c <= '9') \
+      || (__c >= 'A' && __c <= 'F') \
+      || (__c >= 'a' && __c <= 'f')); \
+   })
+#endif
+#endif
+
+#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
+#undef c_tolower
+#define c_tolower(c) \
+  ({ int __c = (c); \
+     (__c >= 'A' && __c <= 'Z' ? __c - 'A' + 'a' : __c); \
+   })
+#undef c_toupper
+#define c_toupper(c) \
+  ({ int __c = (c); \
+     (__c >= 'a' && __c <= 'z' ? __c - 'a' + 'A' : __c); \
+   })
+#endif
+
+#endif /* optimizing for speed */
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* C_CTYPE_H */
index 80bef72c16ab4d518a29261c65ab30ce8467bddf..3aaa310ecd2d0883e6b8e5121e214859d28d1786 100644 (file)
@@ -260,7 +260,7 @@ __realpath (const char *name, char *resolved)
                  goto error;
                }
 
-             n = __readlink (rpath, buf, path_max);
+             n = __readlink (rpath, buf, path_max - 1);
              if (n < 0)
                {
                  int saved_errno = errno;
index aeae25263bf1d3a2df770f2c0757190553abe4f5..291b58c2894723f114b7a5d2e9c35b7d15c239df 100644 (file)
@@ -1,5 +1,5 @@
 /* provide a chdir function that tries not to fail due to ENAMETOOLONG
-   Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -205,7 +205,6 @@ chdir_long (char *dir)
 
 #if TEST_CHDIR
 
-# include <stdio.h>
 # include "closeout.h"
 # include "error.h"
 
index e2c3ac0cc4493dfec9710fe68c8a8cc6eeacf6fb..59ab616b1ea43eb3ccef77aed89d13175bec4607 100644 (file)
@@ -1,6 +1,6 @@
 /* Close a stream, with nicer error checking than fclose's.
 
-   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2006, 2007 Free
+   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2006, 2007, 2008 Free
    Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    otherwise.  A failure might set errno to 0 if the error number
    cannot be determined.
 
+   A failure with errno set to EPIPE may or may not indicate an error
+   situation worth signaling to the user.  See the documentation of the
+   close_stdout_set_ignore_EPIPE function for details.
+
    If a program writes *anything* to STREAM, that program should close
    STREAM and make sure that it succeeds before exiting.  Otherwise,
    suppose that you go to the extreme of checking the return status
diff --git a/lib/close.c b/lib/close.c
new file mode 100644 (file)
index 0000000..74a7adf
--- /dev/null
@@ -0,0 +1,82 @@
+/* close replacement.
+   Copyright (C) 2008 Free Software Foundation, Inc.
+
+   This 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/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <unistd.h>
+
+#if GNULIB_SYS_SOCKET
+# define WIN32_LEAN_AND_MEAN
+# include <sys/socket.h>
+#endif
+
+#if HAVE__GL_CLOSE_FD_MAYBE_SOCKET
+
+/* Get set_winsock_errno, FD_TO_SOCKET etc. */
+#include "w32sock.h"
+
+static int
+_gl_close_fd_maybe_socket (int fd)
+{
+  SOCKET sock = FD_TO_SOCKET (fd);
+  WSANETWORKEVENTS ev;
+
+  ev.lNetworkEvents = 0xDEADBEEF;
+  WSAEnumNetworkEvents (sock, NULL, &ev);
+  if (ev.lNetworkEvents != 0xDEADBEEF)
+    {
+      /* FIXME: other applications, like squid, use an undocumented
+        _free_osfhnd free function.  But this is not enough: The 'osfile'
+        flags for fd also needs to be cleared, but it is hard to access it.
+        Instead, here we just close twice the file descriptor.  */
+      if (closesocket (sock))
+       {
+         set_winsock_errno ();
+         return -1;
+       }
+      else
+       {
+         /* This call frees the file descriptor and does a
+            CloseHandle ((HANDLE) _get_osfhandle (fd)), which fails.  */
+         _close (fd);
+         return 0;
+       }
+    }
+  else
+    return _close (fd);
+}
+#endif
+
+/* Override close() to call into other gnulib modules.  */
+
+int
+rpl_close (int fd)
+#undef close
+{
+#if HAVE__GL_CLOSE_FD_MAYBE_SOCKET
+  int retval = _gl_close_fd_maybe_socket (fd);
+#else
+  int retval = close (fd);
+#endif
+
+#ifdef FCHDIR_REPLACEMENT
+  if (retval >= 0)
+    _gl_unregister_fd (fd);
+#endif
+
+  return retval;
+}
index 69ddb8b239d80b203c8ce0aaac1983cff27e9ee2..6a0b82ffafd8c4ac7f6192e698227dde11da3296 100644 (file)
@@ -1,6 +1,6 @@
 /* Close standard output and standard error, exiting with a diagnostic on error.
 
-   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2006 Free
+   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2006, 2008 Free
    Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
@@ -21,6 +21,7 @@
 #include "closeout.h"
 
 #include <errno.h>
+#include <stdbool.h>
 #include <stdio.h>
 #include <unistd.h>
 
@@ -42,6 +43,43 @@ close_stdout_set_file_name (const char *file)
   file_name = file;
 }
 
+static bool ignore_EPIPE /* = false */;
+
+/* Specify the reaction to an EPIPE error during the closing of stdout:
+     - If ignore = true, it shall be ignored.
+     - If ignore = false, it shall evoke a diagnostic, along with a nonzero
+       exit status.
+   The default is ignore = false.
+
+   This setting matters only if the SIGPIPE signal is ignored (i.e. its
+   handler set to SIG_IGN) or blocked.  Only particular programs need to
+   temporarily ignore SIGPIPE.  If SIGPIPE is ignored or blocked because
+   it was ignored or blocked in the parent process when it created the
+   child process, it usually is a bug in the parent process: It is bad
+   practice to have SIGPIPE ignored or blocked while creating a child
+   process.
+
+   EPIPE occurs when writing to a pipe or socket that has no readers now,
+   when SIGPIPE is ignored or blocked.
+
+   The ignore = false setting is suitable for a scenario where it is normally
+   guaranteed that the pipe writer terminates before the pipe reader.  In
+   this case, an EPIPE is an indication of a premature termination of the
+   pipe reader and should lead to a diagnostic and a nonzero exit status.
+
+   The ignore = true setting is suitable for a scenario where you don't know
+   ahead of time whether the pipe writer or the pipe reader will terminate
+   first.  In this case, an EPIPE is an indication that the pipe writer can
+   stop doing useless write() calls; this is what close_stdout does anyway.
+   EPIPE is part of the normal pipe/socket shutdown protocol in this case,
+   and should not lead to a diagnostic message.  */
+
+void
+close_stdout_set_ignore_EPIPE (bool ignore)
+{
+  ignore_EPIPE = ignore;
+}
+
 /* Close standard output.  On error, issue a diagnostic and _exit
    with status 'exit_failure'.
 
@@ -68,7 +106,8 @@ close_stdout_set_file_name (const char *file)
 void
 close_stdout (void)
 {
-  if (close_stream (stdout) != 0)
+  if (close_stream (stdout) != 0
+      && !(ignore_EPIPE && errno == EPIPE))
     {
       char const *write_error = _("write error");
       if (file_name)
index fa7adc3113573231a54df3fd879a2141efbc9902..34e61effbfd7c729ebc1f25edb01162d525e9034 100644 (file)
@@ -1,6 +1,7 @@
 /* Close standard output and standard error.
 
-   Copyright (C) 1998, 2000, 2003, 2004, 2006 Free Software Foundation, Inc.
+   Copyright (C) 1998, 2000, 2003, 2004, 2006, 2008 Free Software Foundation,
+   Inc.
 
    This 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 CLOSEOUT_H
 # define CLOSEOUT_H 1
 
+# include <stdbool.h>
+
 # ifdef __cplusplus
 extern "C" {
 # endif
 
 void close_stdout_set_file_name (const char *file);
+void close_stdout_set_ignore_EPIPE (bool ignore);
 void close_stdout (void);
 
 # ifdef __cplusplus
index db3de951137757591eccfe44e6c74204628c82e3..2b1d0a52a21c37b14f9ddea1c3b4e89a838d50e8 100644 (file)
@@ -1,5 +1,5 @@
-/* Wrapper around <dirent.h>.
-   Copyright (C) 2006-2007 Free Software Foundation, Inc.
+/* A GNU-like <dirent.h>.
+   Copyright (C) 2006-2008 Free Software Foundation, Inc.
 
    This 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 _GL_DIRENT_H
 
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
 /* The include_next requires a split double-inclusion guard.  */
 #@INCLUDE_NEXT@ @NEXT_DIRENT_H@
 
 #ifndef _GL_DIRENT_H
 #define _GL_DIRENT_H
 
+/* The definition of GL_LINK_WARNING is copied here.  */
 
-/* Declare overridden functions.  */
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+/* Declare overridden functions.  */
+
 #if @REPLACE_FCHDIR@
 # define opendir rpl_opendir
 extern DIR * opendir (const char *);
@@ -36,6 +42,22 @@ extern DIR * opendir (const char *);
 extern int closedir (DIR *);
 #endif
 
+/* Declare GNU extensions.  */
+
+#if @GNULIB_DIRFD@
+# if !@HAVE_DECL_DIRFD@ && !defined dirfd
+/* Return the file descriptor associated with the given directory stream,
+   or -1 if none exists.  */
+extern int dirfd (DIR const *dir);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef dirfd
+# define dirfd(d) \
+    (GL_LINK_WARNING ("dirfd is unportable - " \
+                      "use gnulib module dirfd for portability"), \
+     dirfd (d))
+#endif
+
 #ifdef __cplusplus
 }
 #endif
index 18f5154a06ac8daf070907f1902bbfe9a80e5508..3458e99b203bc9764b745e71dd3e3dc9a9e845e5 100644 (file)
@@ -1,6 +1,6 @@
 /* dirfd.c -- return the file descriptor associated with an open DIR*
 
-   Copyright (C) 2001, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2006, 2008 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -19,7 +19,7 @@
 
 #include <config.h>
 
-#include "dirfd.h"
+#include <dirent.h>
 
 int
 dirfd (DIR const *dir_p)
diff --git a/lib/dirfd.h b/lib/dirfd.h
deleted file mode 100644 (file)
index 2c2b21d..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Declare dirfd, if necessary.
-   Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 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.  */
-
-#include <sys/types.h>
-
-#include <dirent.h>
-
-#ifndef HAVE_DECL_DIRFD
-"this configure-time declaration test was not run"
-#endif
-#if !HAVE_DECL_DIRFD && !defined dirfd
-int dirfd (DIR const *);
-#endif
diff --git a/lib/errno.in.h b/lib/errno.in.h
new file mode 100644 (file)
index 0000000..f873039
--- /dev/null
@@ -0,0 +1,157 @@
+/* -*- buffer-read-only: t -*- vi: set ro: */
+/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
+/* A POSIX-like <errno.h>.
+
+   Copyright (C) 2008 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software Foundation,
+   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
+
+#ifndef _GL_ERRNO_H
+
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
+/* The include_next requires a split double-inclusion guard.  */
+#@INCLUDE_NEXT@ @NEXT_ERRNO_H@
+
+#ifndef _GL_ERRNO_H
+#define _GL_ERRNO_H
+
+
+/* On native Windows platforms, many macros are not defined.  */
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+
+/* POSIX says that EAGAIN and EWOULDBLOCK may have the same value.  */
+#  define EWOULDBLOCK     EAGAIN
+
+/* Values >= 100 seem safe to use.  */
+#  define ETXTBSY   100
+#  define GNULIB_defined_ETXTBSY 1
+
+/* These are intentionally the same values as the WSA* error numbers, defined
+   in <winsock2.h>.  */
+#  define EINPROGRESS     10036
+#  define EALREADY        10037
+#  define ENOTSOCK        10038
+#  define EDESTADDRREQ    10039
+#  define EMSGSIZE        10040
+#  define EPROTOTYPE      10041
+#  define ENOPROTOOPT     10042
+#  define EPROTONOSUPPORT 10043
+#  define ESOCKTNOSUPPORT 10044  /* not required by POSIX */
+#  define EOPNOTSUPP      10045
+#  define EPFNOSUPPORT    10046  /* not required by POSIX */
+#  define EAFNOSUPPORT    10047
+#  define EADDRINUSE      10048
+#  define EADDRNOTAVAIL   10049
+#  define ENETDOWN        10050
+#  define ENETUNREACH     10051
+#  define ENETRESET       10052
+#  define ECONNABORTED    10053
+#  define ECONNRESET      10054
+#  define ENOBUFS         10055
+#  define EISCONN         10056
+#  define ENOTCONN        10057
+#  define ESHUTDOWN       10058  /* not required by POSIX */
+#  define ETOOMANYREFS    10059  /* not required by POSIX */
+#  define ETIMEDOUT       10060
+#  define ECONNREFUSED    10061
+#  define ELOOP           10062
+#  define EHOSTDOWN       10064  /* not required by POSIX */
+#  define EHOSTUNREACH    10065
+#  define EPROCLIM        10067  /* not required by POSIX */
+#  define EUSERS          10068  /* not required by POSIX */
+#  define EDQUOT          10069
+#  define ESTALE          10070
+#  define EREMOTE         10071  /* not required by POSIX */
+#  define GNULIB_defined_ESOCK 1
+
+# endif
+
+
+/* On OSF/1 5.1, when _XOPEN_SOURCE_EXTENDED is not defined, the macros
+   EMULTIHOP, ENOLINK, EOVERFLOW are not defined.  */
+# if @EMULTIHOP_HIDDEN@
+#  define EMULTIHOP @EMULTIHOP_VALUE@
+#  define GNULIB_defined_EMULTIHOP 1
+# endif
+# if @ENOLINK_HIDDEN@
+#  define ENOLINK   @ENOLINK_VALUE@
+#  define GNULIB_defined_ENOLINK 1
+# endif
+# if @EOVERFLOW_HIDDEN@
+#  define EOVERFLOW @EOVERFLOW_VALUE@
+#  define GNULIB_defined_EOVERFLOW 1
+# endif
+
+
+/* On OpenBSD 4.0 and on native Windows, the macros ENOMSG, EIDRM, ENOLINK,
+   EPROTO, EMULTIHOP, EBADMSG, EOVERFLOW, ENOTSUP, ECANCELED are not defined.
+   Define them here.  Values >= 2000 seem safe to use: Solaris ESTALE = 151,
+   HP-UX EWOULDBLOCK = 246, IRIX EDQUOT = 1133.
+
+   Note: When one of these systems defines some of these macros some day,
+   binaries will have to be recompiled so that they recognizes the new
+   errno values from the system.  */
+
+# ifndef ENOMSG
+#  define ENOMSG    2000
+#  define GNULIB_defined_ENOMSG 1
+# endif
+
+# ifndef EIDRM
+#  define EIDRM     2001
+#  define GNULIB_defined_EIDRM 1
+# endif
+
+# ifndef ENOLINK
+#  define ENOLINK   2002
+#  define GNULIB_defined_ENOLINK 1
+# endif
+
+# ifndef EPROTO
+#  define EPROTO    2003
+#  define GNULIB_defined_EPROTO 1
+# endif
+
+# ifndef EMULTIHOP
+#  define EMULTIHOP 2004
+#  define GNULIB_defined_EMULTIHOP 1
+# endif
+
+# ifndef EBADMSG
+#  define EBADMSG   2005
+#  define GNULIB_defined_EBADMSG 1
+# endif
+
+# ifndef EOVERFLOW
+#  define EOVERFLOW 2006
+#  define GNULIB_defined_EOVERFLOW 1
+# endif
+
+# ifndef ENOTSUP
+#  define ENOTSUP   2007
+#  define GNULIB_defined_ENOTSUP 1
+# endif
+
+# ifndef ECANCELED
+#  define ECANCELED 2008
+#  define GNULIB_defined_ECANCELED 1
+# endif
+
+
+#endif /* _GL_ERRNO_H */
+#endif /* _GL_ERRNO_H */
index 246987c8860289e1c908f5c42eba00de64c71d7a..969e984c9555b11a95f3e411f15a0ff6bdc581bd 100644 (file)
@@ -1,5 +1,5 @@
 /* fchdir replacement.
-   Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2006-2008 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -19,6 +19,7 @@
 /* Specification.  */
 #include <unistd.h>
 
+#include <dirent.h>
 #include <errno.h>
 #include <fcntl.h>
 #include <stdarg.h>
 #include <string.h>
 #include <sys/types.h>
 #include <sys/stat.h>
-#include <dirent.h>
 
 #include "canonicalize.h"
-#include "dirfd.h"
 
 /* This replacement assumes that a directory is not renamed while opened
    through a file descriptor.  */
@@ -75,64 +74,34 @@ ensure_dirs_slot (size_t fd)
     }
 }
 
-/* Override open() and close(), to keep track of the open file descriptors.  */
+/* Hook into the gnulib replacements for open() and close() to keep track
+   of the open file descriptors.  */
 
-int
-rpl_close (int fd)
-#undef close
+void
+_gl_unregister_fd (int fd)
 {
-  int retval = close (fd);
-
-  if (retval >= 0 && fd >= 0 && fd < dirs_allocated)
+  if (fd >= 0 && fd < dirs_allocated)
     {
       if (dirs[fd].name != NULL)
        free (dirs[fd].name);
       dirs[fd].name = NULL;
       dirs[fd].saved_errno = ENOTDIR;
     }
-  return retval;
 }
 
-int
-rpl_open (const char *filename, int flags, ...)
-#undef open
+void
+_gl_register_fd (int fd, const char *filename)
 {
-  mode_t mode;
-  int fd;
   struct stat statbuf;
 
-  mode = 0;
-  if (flags & O_CREAT)
+  ensure_dirs_slot (fd);
+  if (fd < dirs_allocated
+      && fstat (fd, &statbuf) >= 0 && S_ISDIR (statbuf.st_mode))
     {
-      va_list arg;
-      va_start (arg, flags);
-
-      /* If mode_t is narrower than int, use the promoted type (int),
-        not mode_t.  Use sizeof to guess whether mode_t is narrower;
-        we don't know of any practical counterexamples.  */
-      mode = (sizeof (mode_t) < sizeof (int)
-             ? va_arg (arg, int)
-             : va_arg (arg, mode_t));
-
-      va_end (arg);
+      dirs[fd].name = canonicalize_file_name (filename);
+      if (dirs[fd].name == NULL)
+       dirs[fd].saved_errno = errno;
     }
-#if defined GNULIB_OPEN && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
-  if (strcmp (filename, "/dev/null") == 0)
-    filename = "NUL";
-#endif
-  fd = open (filename, flags, mode);
-  if (fd >= 0)
-    {
-      ensure_dirs_slot (fd);
-      if (fd < dirs_allocated
-         && fstat (fd, &statbuf) >= 0 && S_ISDIR (statbuf.st_mode))
-       {
-         dirs[fd].name = canonicalize_file_name (filename);
-         if (dirs[fd].name == NULL)
-           dirs[fd].saved_errno = errno;
-       }
-    }
-  return fd;
 }
 
 /* Override opendir() and closedir(), to keep track of the open file
@@ -145,13 +114,8 @@ rpl_closedir (DIR *dp)
   int fd = dirfd (dp);
   int retval = closedir (dp);
 
-  if (retval >= 0 && fd >= 0 && fd < dirs_allocated)
-    {
-      if (dirs[fd].name != NULL)
-       free (dirs[fd].name);
-      dirs[fd].name = NULL;
-      dirs[fd].saved_errno = ENOTDIR;
-    }
+  if (retval >= 0)
+    _gl_unregister_fd (fd);
   return retval;
 }
 
@@ -166,15 +130,7 @@ rpl_opendir (const char *filename)
     {
       int fd = dirfd (dp);
       if (fd >= 0)
-       {
-         ensure_dirs_slot (fd);
-         if (fd < dirs_allocated)
-           {
-             dirs[fd].name = canonicalize_file_name (filename);
-             if (dirs[fd].name == NULL)
-               dirs[fd].saved_errno = errno;
-           }
-       }
+       _gl_register_fd (fd, filename);
     }
   return dp;
 }
diff --git a/lib/fclose.c b/lib/fclose.c
new file mode 100644 (file)
index 0000000..a0074b7
--- /dev/null
@@ -0,0 +1,47 @@
+/* fclose replacement.
+   Copyright (C) 2008 Free Software Foundation, Inc.
+
+   This 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/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <stdio.h>
+
+#include <errno.h>
+#include <unistd.h>
+
+/* Override fclose() to call the overridden close().  */
+
+int
+rpl_fclose (FILE *fp)
+#undef fclose
+{
+  int saved_errno = 0;
+
+  if (fflush (fp))
+    saved_errno = errno;
+
+  if (close (fileno (fp)) < 0 && saved_errno == 0)
+    saved_errno = errno;
+
+  fclose (fp); /* will fail with errno = EBADF */
+
+  if (saved_errno != 0)
+    {
+      errno = saved_errno;
+      return EOF;
+    }
+  return 0;
+}
index 066a26c70e9915316e53744956d7f18a3ab3e725..af86c832220f6bf8775ce74aea1d289fe84ad568 100644 (file)
@@ -1,6 +1,6 @@
 /* Like <fcntl.h>, but with non-working flags defined to 0.
 
-   Copyright (C) 2006-2007 Free Software Foundation, Inc.
+   Copyright (C) 2006-2008 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 /* written by Paul Eggert */
 
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
+#if defined __need_system_fcntl_h
+/* Special invocation convention.  */
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#@INCLUDE_NEXT@ @NEXT_FCNTL_H@
+
+#else
+/* Normal invocation convention.  */
+
 #ifndef _GL_FCNTL_H
 
 #include <sys/types.h>
 extern "C" {
 #endif
 
-#if (@GNULIB_OPEN@ && @REPLACE_OPEN@) || defined FCHDIR_REPLACEMENT
-# define open rpl_open
+#if @GNULIB_OPEN@
+# if @REPLACE_OPEN@
+#  undef open
+#  define open rpl_open
 extern int open (const char *filename, int flags, ...);
+# endif
+#endif
+
+#ifdef FCHDIR_REPLACEMENT
+/* gnulib internal function.  */
+extern void _gl_register_fd (int fd, const char *filename);
 #endif
 
 #ifdef __cplusplus
@@ -118,3 +141,4 @@ extern int open (const char *filename, int flags, ...);
 
 #endif /* _GL_FCNTL_H */
 #endif /* _GL_FCNTL_H */
+#endif
index 2504032077613b6e900db1b118e2e56d692c6f5a..9ba2bce4b5bdb912ae3b6087a30cad1504ce3421 100644 (file)
@@ -1,6 +1,6 @@
 /* A correct <float.h>.
 
-   Copyright (C) 2007 Free Software Foundation, Inc.
+   Copyright (C) 2007-2008 Free Software Foundation, Inc.
 
    This 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 _GL_FLOAT_H
 
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
 /* The include_next requires a split double-inclusion guard.  */
 #@INCLUDE_NEXT@ @NEXT_FLOAT_H@
 
index 7252208a624ffd20d7e197c3702b67a044f5a849..4d6b071e9d61a2d9e438027bf222a1c36f62bf8e 100644 (file)
@@ -25,6 +25,8 @@
 /* Get off_t and lseek.  */
 #include <unistd.h>
 
+#include "stdio-impl.h"
+
 #undef fseeko
 #if !HAVE_FSEEKO
 # undef fseek
@@ -41,18 +43,11 @@ rpl_fseeko (FILE *fp, off_t offset, int whence)
 #endif
 
   /* These tests are based on fpurge.c.  */
-#if defined _IO_ferror_unlocked     /* GNU libc, BeOS */
+#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */
   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             /* FreeBSD, NetBSD, OpenBSD, MacOS X, Cygwin */
-# if defined __NetBSD__ || defined __OpenBSD__ /* NetBSD, OpenBSD */
-   /* See <http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/stdio/fileext.h?rev=HEAD&content-type=text/x-cvsweb-markup>
-      and <http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/stdio/fileext.h?rev=HEAD&content-type=text/x-cvsweb-markup> */
-#  define fp_ub ((struct { struct __sbuf _ub; } *) fp->_ext._base)->_ub
-# else                                         /* FreeBSD, MacOS X, Cygwin */
-#  define fp_ub fp->_ub
-# endif
+#elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */
 # if defined __SL64 && defined __SCLE /* Cygwin */
   if ((fp->_flags & __SL64) == 0)
     {
@@ -66,32 +61,20 @@ rpl_fseeko (FILE *fp, off_t offset, int whence)
       fclose (tmp);
     }
 # endif
-  if (fp->_p == fp->_bf._base
-      && fp->_r == 0
-      && fp->_w == ((fp->_flags & (__SLBF | __SNBF | __SRD)) == 0 /* fully buffered and not currently reading? */
-                   ? fp->_bf._size
-                   : 0)
+  if (fp_->_p == fp_->_bf._base
+      && fp_->_r == 0
+      && fp_->_w == ((fp_->_flags & (__SLBF | __SNBF | __SRD)) == 0 /* fully buffered and not currently reading? */
+                    ? fp_->_bf._size
+                    : 0)
       && fp_ub._base == NULL)
+#elif defined __EMX__               /* emx+gcc */
+  if (fp->_ptr == fp->_buffer
+      && fp->_rcount == 0
+      && fp->_wcount == 0
+      && fp->_ungetc_count == 0)
 #elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */
-# if defined __sun && defined _LP64 /* Solaris/{SPARC,AMD64} 64-bit */
-#  define fp_ ((struct { unsigned char *_ptr; \
-                        unsigned char *_base; \
-                        unsigned char *_end; \
-                        long _cnt; \
-                        int _file; \
-                        unsigned int _flag; \
-                      } *) fp)
   if (fp_->_ptr == fp_->_base
       && (fp_->_ptr == NULL || fp_->_cnt == 0))
-# else
-#  if defined _SCO_DS               /* OpenServer */
-#   define _base __base
-#   define _ptr __ptr
-#   define _cnt __cnt
-#  endif
-  if (fp->_ptr == fp->_base
-      && (fp->_ptr == NULL || fp->_cnt == 0))
-# endif
 #elif defined __UCLIBC__            /* uClibc */
   if (((fp->__modeflags & __FLAG_WRITING) == 0
        || fp->__bufpos == fp->__bufstart)
@@ -108,21 +91,20 @@ rpl_fseeko (FILE *fp, off_t offset, int whence)
       off_t pos = lseek (fileno (fp), offset, whence);
       if (pos == -1)
        {
-#if defined __sferror               /* FreeBSD, NetBSD, OpenBSD, MacOS X, Cygwin */
-         fp->_flags &= ~__SOFF;
+#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */
+         fp_->_flags &= ~__SOFF;
 #endif
          return -1;
        }
       else
        {
-#if defined __sferror               /* FreeBSD, NetBSD, OpenBSD, MacOS X, Cygwin */
-         fp->_offset = pos;
-         fp->_flags |= __SOFF;
-         fp->_flags &= ~__SEOF;
+#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */
+         fp_->_offset = pos;
+         fp_->_flags |= __SOFF;
+         fp_->_flags &= ~__SEOF;
+#elif defined __EMX__               /* emx+gcc */
+          fp->_flags &= ~_IOEOF;
 #elif defined _IOERR                /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw */
-# if defined _SCO_DS                /* OpenServer */
-#  define _flag __flag
-# endif
           fp->_flag &= ~_IOEOF;
 #endif
          return 0;
index 2397c08c839e82e781c5837df6baa48a97dbf1a6..b9e57d31a9a0c12fb569b7a3d765bf220d9667e0 100644 (file)
@@ -1,5 +1,4 @@
-/* Copyright (C) 1991,92,93,94,95,96,97,98,99,2004,2005,2006,2007 Free Software
-   Foundation, Inc.
+/* Copyright (C) 1991-1999, 2004-2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    This program is free software: you can redistribute it and/or modify
@@ -18,7 +17,6 @@
 #if !_LIBC
 # include <config.h>
 # include <unistd.h>
-# include "dirfd.h"
 #endif
 
 #include <errno.h>
index 07a293b66d4e99a05a7cb40599c3e0e716224e8a..2e5f210ca39bf7e664aa9335b8e0e2e728a9c498 100644 (file)
      tMINUTE_UNIT = 263,
      tSEC_UNIT = 264,
      tDAY_UNIT = 265,
-     tDAY = 266,
-     tDAYZONE = 267,
-     tLOCAL_ZONE = 268,
-     tMERIDIAN = 269,
-     tMONTH = 270,
-     tORDINAL = 271,
-     tZONE = 272,
-     tSNUMBER = 273,
-     tUNUMBER = 274,
-     tSDECIMAL_NUMBER = 275,
-     tUDECIMAL_NUMBER = 276
+     tDAY_SHIFT = 266,
+     tDAY = 267,
+     tDAYZONE = 268,
+     tLOCAL_ZONE = 269,
+     tMERIDIAN = 270,
+     tMONTH = 271,
+     tORDINAL = 272,
+     tZONE = 273,
+     tSNUMBER = 274,
+     tUNUMBER = 275,
+     tSDECIMAL_NUMBER = 276,
+     tUDECIMAL_NUMBER = 277
    };
 #endif
 /* Tokens.  */
 #define tMINUTE_UNIT 263
 #define tSEC_UNIT 264
 #define tDAY_UNIT 265
-#define tDAY 266
-#define tDAYZONE 267
-#define tLOCAL_ZONE 268
-#define tMERIDIAN 269
-#define tMONTH 270
-#define tORDINAL 271
-#define tZONE 272
-#define tSNUMBER 273
-#define tUNUMBER 274
-#define tSDECIMAL_NUMBER 275
-#define tUDECIMAL_NUMBER 276
+#define tDAY_SHIFT 266
+#define tDAY 267
+#define tDAYZONE 268
+#define tLOCAL_ZONE 269
+#define tMERIDIAN 270
+#define tMONTH 271
+#define tORDINAL 272
+#define tZONE 273
+#define tSNUMBER 274
+#define tUNUMBER 275
+#define tSDECIMAL_NUMBER 276
+#define tUDECIMAL_NUMBER 277
 
 
 
 
 /* Parse a string into an internal time stamp.
 
-   Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
-   Foundation, Inc.
+   Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+   Free Software Foundation, Inc.
 
    This 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 static
 #endif
 
-#include <ctype.h>
+#include <c-ctype.h>
 #include <limits.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -320,7 +322,7 @@ typedef struct
 union YYSTYPE;
 static int yylex (union YYSTYPE *, parser_control *);
 static int yyerror (parser_control const *, char const *);
-static long int time_zone_hhmm (textint, long int);
+static long int time_zone_hhmm (parser_control *, textint, long int);
 
 /* Extract into *PC any date and time info from a string of digits
    of the form e.g., YYYYMMDD, YYMMDD, HHMM, HH (and sometimes YYY,
@@ -361,6 +363,31 @@ digits_to_date_time (parser_control *pc, textint text_int)
     }
 }
 
+/* Increment PC->rel by FACTOR * REL (FACTOR is 1 or -1).  */
+static void
+apply_relative_time (parser_control *pc, relative_time rel, int factor)
+{
+  pc->rel.ns += factor * rel.ns;
+  pc->rel.seconds += factor * rel.seconds;
+  pc->rel.minutes += factor * rel.minutes;
+  pc->rel.hour += factor * rel.hour;
+  pc->rel.day += factor * rel.day;
+  pc->rel.month += factor * rel.month;
+  pc->rel.year += factor * rel.year;
+  pc->rels_seen = true;
+}
+
+/* Set PC-> hour, minutes, seconds and nanoseconds members from arguments.  */
+static void
+set_hhmmss (parser_control *pc, long int hour, long int minutes,
+           time_t sec, long int nsec)
+{
+  pc->hour = hour;
+  pc->minutes = minutes;
+  pc->seconds.tv_sec = sec;
+  pc->seconds.tv_nsec = nsec;
+}
+
 
 
 /* Enabling traces.  */
@@ -383,7 +410,7 @@ digits_to_date_time (parser_control *pc, textint text_int)
 
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 typedef union YYSTYPE
-#line 261 "getdate.y"
+#line 286 "getdate.y"
 {
   long int intval;
   textint textintval;
@@ -391,7 +418,7 @@ typedef union YYSTYPE
   relative_time rel;
 }
 /* Line 187 of yacc.c.  */
-#line 395 "getdate.c"
+#line 422 "getdate.c"
        YYSTYPE;
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
@@ -404,7 +431,7 @@ typedef union YYSTYPE
 
 
 /* Line 216 of yacc.c.  */
-#line 408 "getdate.c"
+#line 435 "getdate.c"
 
 #ifdef short
 # undef short
@@ -619,20 +646,20 @@ union yyalloc
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  12
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   96
+#define YYLAST   98
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  26
+#define YYNTOKENS  27
 /* YYNNTS -- Number of nonterminals.  */
-#define YYNNTS  20
+#define YYNNTS  21
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  80
+#define YYNRULES  82
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  98
+#define YYNSTATES  100
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   276
+#define YYMAXUTOK   277
 
 #define YYTRANSLATE(YYX)                                               \
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -644,9 +671,9 @@ static const yytype_uint8 yytranslate[] =
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,    24,     2,     2,    25,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,    23,     2,
-       2,     2,     2,     2,    22,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,    25,     2,     2,    26,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,    24,     2,
+       2,     2,     2,     2,    23,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -667,7 +694,7 @@ static const yytype_uint8 yytranslate[] =
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,    20,    21
+      15,    16,    17,    18,    19,    20,    21,    22
 };
 
 #if YYDEBUG
@@ -679,53 +706,54 @@ static const yytype_uint8 yyprhs[] =
       20,    22,    24,    26,    28,    30,    33,    38,    44,    51,
       59,    61,    64,    66,    69,    73,    75,    78,    80,    83,
       86,    89,    93,    99,   103,   107,   111,   114,   119,   122,
-     126,   129,   131,   134,   137,   139,   142,   145,   147,   150,
-     153,   155,   158,   161,   163,   166,   169,   171,   174,   177,
-     180,   183,   185,   187,   190,   193,   196,   199,   202,   205,
-     207,   209,   211,   213,   215,   217,   219,   222,   223,   226,
-     227
+     126,   129,   131,   133,   136,   139,   141,   144,   147,   149,
+     152,   155,   157,   160,   163,   165,   168,   171,   173,   176,
+     179,   182,   185,   187,   189,   192,   195,   198,   201,   204,
+     207,   209,   211,   213,   215,   217,   219,   221,   223,   226,
+     227,   230,   231
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
 static const yytype_int8 yyrhs[] =
 {
-      27,     0,    -1,    28,    -1,    29,    -1,    22,    39,    -1,
-      -1,    29,    30,    -1,    31,    -1,    32,    -1,    33,    -1,
-      35,    -1,    34,    -1,    36,    -1,    42,    -1,    43,    -1,
-      19,    14,    -1,    19,    23,    19,    45,    -1,    19,    23,
-      19,    18,    44,    -1,    19,    23,    19,    23,    41,    45,
-      -1,    19,    23,    19,    23,    41,    18,    44,    -1,    13,
-      -1,    13,     4,    -1,    17,    -1,    17,    38,    -1,    17,
-      18,    44,    -1,    12,    -1,    17,     4,    -1,    11,    -1,
-      11,    24,    -1,    16,    11,    -1,    19,    11,    -1,    19,
-      25,    19,    -1,    19,    25,    19,    25,    19,    -1,    19,
-      18,    18,    -1,    19,    15,    18,    -1,    15,    18,    18,
-      -1,    15,    19,    -1,    15,    19,    24,    19,    -1,    19,
-      15,    -1,    19,    15,    19,    -1,    37,     3,    -1,    37,
-      -1,    16,     5,    -1,    19,     5,    -1,     5,    -1,    16,
-       6,    -1,    19,     6,    -1,     6,    -1,    16,    10,    -1,
-      19,    10,    -1,    10,    -1,    16,     7,    -1,    19,     7,
-      -1,     7,    -1,    16,     8,    -1,    19,     8,    -1,     8,
-      -1,    16,     9,    -1,    19,     9,    -1,    20,     9,    -1,
-      21,     9,    -1,     9,    -1,    38,    -1,    18,     5,    -1,
-      18,     6,    -1,    18,    10,    -1,    18,     7,    -1,    18,
-       8,    -1,    18,     9,    -1,    40,    -1,    41,    -1,    20,
-      -1,    18,    -1,    21,    -1,    19,    -1,    19,    -1,    19,
-      38,    -1,    -1,    23,    19,    -1,    -1,    14,    -1
+      28,     0,    -1,    29,    -1,    30,    -1,    23,    41,    -1,
+      -1,    30,    31,    -1,    32,    -1,    33,    -1,    34,    -1,
+      36,    -1,    35,    -1,    37,    -1,    44,    -1,    45,    -1,
+      20,    15,    -1,    20,    24,    20,    47,    -1,    20,    24,
+      20,    19,    46,    -1,    20,    24,    20,    24,    43,    47,
+      -1,    20,    24,    20,    24,    43,    19,    46,    -1,    14,
+      -1,    14,     4,    -1,    18,    -1,    18,    39,    -1,    18,
+      19,    46,    -1,    13,    -1,    18,     4,    -1,    12,    -1,
+      12,    25,    -1,    17,    12,    -1,    20,    12,    -1,    20,
+      26,    20,    -1,    20,    26,    20,    26,    20,    -1,    20,
+      19,    19,    -1,    20,    16,    19,    -1,    16,    19,    19,
+      -1,    16,    20,    -1,    16,    20,    25,    20,    -1,    20,
+      16,    -1,    20,    16,    20,    -1,    38,     3,    -1,    38,
+      -1,    40,    -1,    17,     5,    -1,    20,     5,    -1,     5,
+      -1,    17,     6,    -1,    20,     6,    -1,     6,    -1,    17,
+      10,    -1,    20,    10,    -1,    10,    -1,    17,     7,    -1,
+      20,     7,    -1,     7,    -1,    17,     8,    -1,    20,     8,
+      -1,     8,    -1,    17,     9,    -1,    20,     9,    -1,    21,
+       9,    -1,    22,     9,    -1,     9,    -1,    39,    -1,    19,
+       5,    -1,    19,     6,    -1,    19,    10,    -1,    19,     7,
+      -1,    19,     8,    -1,    19,     9,    -1,    11,    -1,    42,
+      -1,    43,    -1,    21,    -1,    19,    -1,    22,    -1,    20,
+      -1,    20,    -1,    20,    39,    -1,    -1,    24,    20,    -1,
+      -1,    15,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   287,   287,   288,   292,   299,   301,   305,   307,   309,
-     311,   313,   315,   317,   318,   322,   330,   338,   348,   355,
-     367,   372,   380,   382,   392,   394,   396,   401,   406,   411,
-     416,   424,   429,   449,   456,   464,   472,   477,   483,   488,
-     497,   507,   520,   522,   524,   526,   528,   530,   532,   534,
-     536,   538,   540,   542,   544,   546,   548,   550,   552,   554,
-     556,   558,   560,   564,   566,   568,   570,   572,   574,   578,
-     578,   581,   582,   587,   588,   593,   598,   616,   617,   623,
-     624
+       0,   312,   312,   313,   317,   324,   326,   330,   332,   334,
+     336,   338,   340,   341,   342,   346,   351,   356,   363,   368,
+     378,   383,   391,   393,   396,   398,   400,   405,   410,   415,
+     420,   428,   433,   453,   460,   468,   476,   481,   487,   492,
+     501,   503,   505,   510,   512,   514,   516,   518,   520,   522,
+     524,   526,   528,   530,   532,   534,   536,   538,   540,   542,
+     544,   546,   548,   550,   554,   556,   558,   560,   562,   564,
+     569,   573,   573,   576,   577,   582,   583,   588,   593,   604,
+     605,   611,   612
 };
 #endif
 
@@ -736,12 +764,13 @@ static const char *const yytname[] =
 {
   "$end", "error", "$undefined", "tAGO", "tDST", "tYEAR_UNIT",
   "tMONTH_UNIT", "tHOUR_UNIT", "tMINUTE_UNIT", "tSEC_UNIT", "tDAY_UNIT",
-  "tDAY", "tDAYZONE", "tLOCAL_ZONE", "tMERIDIAN", "tMONTH", "tORDINAL",
-  "tZONE", "tSNUMBER", "tUNUMBER", "tSDECIMAL_NUMBER", "tUDECIMAL_NUMBER",
-  "'@'", "':'", "','", "'/'", "$accept", "spec", "timespec", "items",
-  "item", "time", "local_zone", "zone", "day", "date", "rel", "relunit",
-  "relunit_snumber", "seconds", "signed_seconds", "unsigned_seconds",
-  "number", "hybrid", "o_colon_minutes", "o_merid", 0
+  "tDAY_SHIFT", "tDAY", "tDAYZONE", "tLOCAL_ZONE", "tMERIDIAN", "tMONTH",
+  "tORDINAL", "tZONE", "tSNUMBER", "tUNUMBER", "tSDECIMAL_NUMBER",
+  "tUDECIMAL_NUMBER", "'@'", "':'", "','", "'/'", "$accept", "spec",
+  "timespec", "items", "item", "time", "local_zone", "zone", "day", "date",
+  "rel", "relunit", "relunit_snumber", "dayshift", "seconds",
+  "signed_seconds", "unsigned_seconds", "number", "hybrid",
+  "o_colon_minutes", "o_merid", 0
 };
 #endif
 
@@ -752,22 +781,22 @@ static const yytype_uint16 yytoknum[] =
 {
        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
-     275,   276,    64,    58,    44,    47
+     275,   276,   277,    64,    58,    44,    47
 };
 # endif
 
 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint8 yyr1[] =
 {
-       0,    26,    27,    27,    28,    29,    29,    30,    30,    30,
-      30,    30,    30,    30,    30,    31,    31,    31,    31,    31,
-      32,    32,    33,    33,    33,    33,    33,    34,    34,    34,
-      34,    35,    35,    35,    35,    35,    35,    35,    35,    35,
-      36,    36,    37,    37,    37,    37,    37,    37,    37,    37,
-      37,    37,    37,    37,    37,    37,    37,    37,    37,    37,
-      37,    37,    37,    38,    38,    38,    38,    38,    38,    39,
-      39,    40,    40,    41,    41,    42,    43,    44,    44,    45,
-      45
+       0,    27,    28,    28,    29,    30,    30,    31,    31,    31,
+      31,    31,    31,    31,    31,    32,    32,    32,    32,    32,
+      33,    33,    34,    34,    34,    34,    34,    35,    35,    35,
+      35,    36,    36,    36,    36,    36,    36,    36,    36,    36,
+      37,    37,    37,    38,    38,    38,    38,    38,    38,    38,
+      38,    38,    38,    38,    38,    38,    38,    38,    38,    38,
+      38,    38,    38,    38,    39,    39,    39,    39,    39,    39,
+      40,    41,    41,    42,    42,    43,    43,    44,    45,    46,
+      46,    47,    47
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -777,11 +806,11 @@ static const yytype_uint8 yyr2[] =
        1,     1,     1,     1,     1,     2,     4,     5,     6,     7,
        1,     2,     1,     2,     3,     1,     2,     1,     2,     2,
        2,     3,     5,     3,     3,     3,     2,     4,     2,     3,
+       2,     1,     1,     2,     2,     1,     2,     2,     1,     2,
        2,     1,     2,     2,     1,     2,     2,     1,     2,     2,
-       1,     2,     2,     1,     2,     2,     1,     2,     2,     2,
-       2,     1,     1,     2,     2,     2,     2,     2,     2,     1,
-       1,     1,     1,     1,     1,     1,     2,     0,     2,     0,
-       1
+       2,     2,     1,     1,     2,     2,     2,     2,     2,     2,
+       1,     1,     1,     1,     1,     1,     1,     1,     2,     0,
+       2,     0,     1
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -789,47 +818,49 @@ static const yytype_uint8 yyr2[] =
    means the default is an error.  */
 static const yytype_uint8 yydefact[] =
 {
-       5,     0,     0,     2,     3,    72,    74,    71,    73,     4,
-      69,    70,     1,    44,    47,    53,    56,    61,    50,    27,
-      25,    20,     0,     0,    22,     0,    75,     0,     0,     6,
-       7,     8,     9,    11,    10,    12,    41,    62,    13,    14,
-      28,    21,     0,    36,    42,    45,    51,    54,    57,    48,
-      29,    26,    77,    23,    63,    64,    66,    67,    68,    65,
-      43,    46,    52,    55,    58,    49,    30,    15,    38,     0,
-       0,     0,    76,    59,    60,    40,    35,     0,     0,    24,
-      34,    39,    33,    79,    31,    37,    78,    80,    77,     0,
-      16,     0,    17,    79,    32,    77,    18,    19
+       5,     0,     0,     2,     3,    74,    76,    73,    75,     4,
+      71,    72,     1,    45,    48,    54,    57,    62,    51,    70,
+      27,    25,    20,     0,     0,    22,     0,    77,     0,     0,
+       6,     7,     8,     9,    11,    10,    12,    41,    63,    42,
+      13,    14,    28,    21,     0,    36,    43,    46,    52,    55,
+      58,    49,    29,    26,    79,    23,    64,    65,    67,    68,
+      69,    66,    44,    47,    53,    56,    59,    50,    30,    15,
+      38,     0,     0,     0,    78,    60,    61,    40,    35,     0,
+       0,    24,    34,    39,    33,    81,    31,    37,    80,    82,
+      79,     0,    16,     0,    17,    81,    32,    79,    18,    19
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int8 yydefgoto[] =
 {
-      -1,     2,     3,     4,    29,    30,    31,    32,    33,    34,
-      35,    36,    37,     9,    10,    11,    38,    39,    79,    90
+      -1,     2,     3,     4,    30,    31,    32,    33,    34,    35,
+      36,    37,    38,    39,     9,    10,    11,    40,    41,    81,
+      92
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -81
+#define YYPACT_NINF -82
 static const yytype_int8 yypact[] =
 {
-     -10,    54,    70,   -81,    25,   -81,   -81,   -81,   -81,   -81,
-     -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,    55,
-     -81,    74,    50,    48,    10,    56,    -5,    71,    72,   -81,
-     -81,   -81,   -81,   -81,   -81,   -81,    79,   -81,   -81,   -81,
-     -81,   -81,    65,    60,   -81,   -81,   -81,   -81,   -81,   -81,
-     -81,   -81,    16,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
-     -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,    58,    42,
-      66,    67,   -81,   -81,   -81,   -81,   -81,    68,    69,   -81,
-     -81,   -81,   -81,    -7,    64,   -81,   -81,   -81,    73,    -2,
-     -81,    75,   -81,    53,   -81,    73,   -81,   -81
+     -17,    56,    15,   -82,    26,   -82,   -82,   -82,   -82,   -82,
+     -82,   -82,   -82,   -82,   -82,   -82,   -82,   -82,   -82,   -82,
+      36,   -82,    68,    10,    50,     9,    59,    -5,    72,    73,
+     -82,   -82,   -82,   -82,   -82,   -82,   -82,    80,   -82,   -82,
+     -82,   -82,   -82,   -82,    65,    61,   -82,   -82,   -82,   -82,
+     -82,   -82,   -82,   -82,    17,   -82,   -82,   -82,   -82,   -82,
+     -82,   -82,   -82,   -82,   -82,   -82,   -82,   -82,   -82,   -82,
+      60,    44,    67,    69,   -82,   -82,   -82,   -82,   -82,    70,
+      71,   -82,   -82,   -82,   -82,    -7,    62,   -82,   -82,   -82,
+      74,    -2,   -82,    75,   -82,    55,   -82,    74,   -82,   -82
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int8 yypgoto[] =
 {
-     -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,
-     -81,   -81,     3,   -81,   -81,     1,   -81,   -81,   -80,    -1
+     -82,   -82,   -82,   -82,   -82,   -82,   -82,   -82,   -82,   -82,
+     -82,   -82,    46,   -82,   -82,   -82,    -6,   -82,   -82,   -81,
+      -3
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
@@ -839,46 +870,46 @@ static const yytype_int8 yypgoto[] =
 #define YYTABLE_NINF -1
 static const yytype_uint8 yytable[] =
 {
-      60,    61,    62,    63,    64,    65,    66,    87,    92,    67,
-      68,    88,     1,    69,    51,    97,    89,     6,    70,     8,
-      71,    54,    55,    56,    57,    58,    59,    53,    52,    72,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    78,
-      22,    23,    24,    25,    26,    27,    28,    54,    55,    56,
-      57,    58,    59,    44,    45,    46,    47,    48,    49,    50,
-      82,    54,    55,    56,    57,    58,    59,    87,    42,    43,
-      12,    95,     5,     6,     7,     8,    80,    81,    41,    40,
-      73,    74,    75,    76,    77,    83,    84,    85,    86,    91,
-      93,     0,    96,     0,    94,     0,    78
+      62,    63,    64,    65,    66,    67,     1,    68,    89,    94,
+      69,    70,    90,    53,    71,    12,    99,    91,     6,    72,
+       8,    73,    56,    57,    58,    59,    60,    61,    54,    44,
+      45,    13,    14,    15,    16,    17,    18,    19,    20,    21,
+      22,    80,    23,    24,    25,    26,    27,    28,    29,    56,
+      57,    58,    59,    60,    61,    46,    47,    48,    49,    50,
+      51,    42,    52,    84,    56,    57,    58,    59,    60,    61,
+      89,    55,    43,    74,    97,     5,     6,     7,     8,    82,
+      83,    75,    76,    77,    78,    95,    79,    85,    93,    86,
+      87,    88,    98,     0,     0,    96,     0,     0,    80
 };
 
 static const yytype_int8 yycheck[] =
 {
-       5,     6,     7,     8,     9,    10,    11,    14,    88,    14,
-      15,    18,    22,    18,     4,    95,    23,    19,    23,    21,
-      25,     5,     6,     7,     8,     9,    10,    24,    18,    26,
-       5,     6,     7,     8,     9,    10,    11,    12,    13,    23,
-      15,    16,    17,    18,    19,    20,    21,     5,     6,     7,
-       8,     9,    10,     5,     6,     7,     8,     9,    10,    11,
-      18,     5,     6,     7,     8,     9,    10,    14,    18,    19,
-       0,    18,    18,    19,    20,    21,    18,    19,     4,    24,
-       9,     9,     3,    18,    24,    19,    19,    19,    19,    25,
-      89,    -1,    93,    -1,    19,    -1,    23
+       5,     6,     7,     8,     9,    10,    23,    12,    15,    90,
+      15,    16,    19,     4,    19,     0,    97,    24,    20,    24,
+      22,    26,     5,     6,     7,     8,     9,    10,    19,    19,
+      20,     5,     6,     7,     8,     9,    10,    11,    12,    13,
+      14,    24,    16,    17,    18,    19,    20,    21,    22,     5,
+       6,     7,     8,     9,    10,     5,     6,     7,     8,     9,
+      10,    25,    12,    19,     5,     6,     7,     8,     9,    10,
+      15,    25,     4,    27,    19,    19,    20,    21,    22,    19,
+      20,     9,     9,     3,    19,    91,    25,    20,    26,    20,
+      20,    20,    95,    -1,    -1,    20,    -1,    -1,    24
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
    symbol of state STATE-NUM.  */
 static const yytype_uint8 yystos[] =
 {
-       0,    22,    27,    28,    29,    18,    19,    20,    21,    39,
-      40,    41,     0,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,    15,    16,    17,    18,    19,    20,    21,    30,
-      31,    32,    33,    34,    35,    36,    37,    38,    42,    43,
-      24,     4,    18,    19,     5,     6,     7,     8,     9,    10,
-      11,     4,    18,    38,     5,     6,     7,     8,     9,    10,
-       5,     6,     7,     8,     9,    10,    11,    14,    15,    18,
-      23,    25,    38,     9,     9,     3,    18,    24,    23,    44,
-      18,    19,    18,    19,    19,    19,    19,    14,    18,    23,
-      45,    25,    44,    41,    19,    18,    45,    44
+       0,    23,    28,    29,    30,    19,    20,    21,    22,    41,
+      42,    43,     0,     5,     6,     7,     8,     9,    10,    11,
+      12,    13,    14,    16,    17,    18,    19,    20,    21,    22,
+      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
+      44,    45,    25,     4,    19,    20,     5,     6,     7,     8,
+       9,    10,    12,     4,    19,    39,     5,     6,     7,     8,
+       9,    10,     5,     6,     7,     8,     9,    10,    12,    15,
+      16,    19,    24,    26,    39,     9,     9,     3,    19,    25,
+      24,    46,    19,    20,    19,    20,    20,    20,    20,    15,
+      19,    24,    47,    26,    46,    43,    20,    19,    47,    46
 };
 
 #define yyerrok                (yyerrstatus = 0)
@@ -1699,7 +1730,7 @@ yyreduce:
   switch (yyn)
     {
         case 4:
-#line 293 "getdate.y"
+#line 318 "getdate.y"
     {
        pc->seconds = (yyvsp[(2) - (2)].timespec);
        pc->timespec_seen = true;
@@ -1707,94 +1738,76 @@ yyreduce:
     break;
 
   case 7:
-#line 306 "getdate.y"
+#line 331 "getdate.y"
     { pc->times_seen++; }
     break;
 
   case 8:
-#line 308 "getdate.y"
+#line 333 "getdate.y"
     { pc->local_zones_seen++; }
     break;
 
   case 9:
-#line 310 "getdate.y"
+#line 335 "getdate.y"
     { pc->zones_seen++; }
     break;
 
   case 10:
-#line 312 "getdate.y"
+#line 337 "getdate.y"
     { pc->dates_seen++; }
     break;
 
   case 11:
-#line 314 "getdate.y"
+#line 339 "getdate.y"
     { pc->days_seen++; }
     break;
 
-  case 12:
-#line 316 "getdate.y"
-    { pc->rels_seen = true; }
-    break;
-
   case 15:
-#line 323 "getdate.y"
+#line 347 "getdate.y"
     {
-       pc->hour = (yyvsp[(1) - (2)].textintval).value;
-       pc->minutes = 0;
-       pc->seconds.tv_sec = 0;
-       pc->seconds.tv_nsec = 0;
+       set_hhmmss (pc, (yyvsp[(1) - (2)].textintval).value, 0, 0, 0);
        pc->meridian = (yyvsp[(2) - (2)].intval);
       }
     break;
 
   case 16:
-#line 331 "getdate.y"
+#line 352 "getdate.y"
     {
-       pc->hour = (yyvsp[(1) - (4)].textintval).value;
-       pc->minutes = (yyvsp[(3) - (4)].textintval).value;
-       pc->seconds.tv_sec = 0;
-       pc->seconds.tv_nsec = 0;
+       set_hhmmss (pc, (yyvsp[(1) - (4)].textintval).value, (yyvsp[(3) - (4)].textintval).value, 0, 0);
        pc->meridian = (yyvsp[(4) - (4)].intval);
       }
     break;
 
   case 17:
-#line 339 "getdate.y"
+#line 357 "getdate.y"
     {
-       pc->hour = (yyvsp[(1) - (5)].textintval).value;
-       pc->minutes = (yyvsp[(3) - (5)].textintval).value;
-       pc->seconds.tv_sec = 0;
-       pc->seconds.tv_nsec = 0;
+       set_hhmmss (pc, (yyvsp[(1) - (5)].textintval).value, (yyvsp[(3) - (5)].textintval).value, 0, 0);
        pc->meridian = MER24;
        pc->zones_seen++;
-       pc->time_zone = time_zone_hhmm ((yyvsp[(4) - (5)].textintval), (yyvsp[(5) - (5)].intval));
+       pc->time_zone = time_zone_hhmm (pc, (yyvsp[(4) - (5)].textintval), (yyvsp[(5) - (5)].intval));
       }
     break;
 
   case 18:
-#line 349 "getdate.y"
+#line 364 "getdate.y"
     {
-       pc->hour = (yyvsp[(1) - (6)].textintval).value;
-       pc->minutes = (yyvsp[(3) - (6)].textintval).value;
-       pc->seconds = (yyvsp[(5) - (6)].timespec);
+       set_hhmmss (pc, (yyvsp[(1) - (6)].textintval).value, (yyvsp[(3) - (6)].textintval).value, (yyvsp[(5) - (6)].timespec).tv_sec, (yyvsp[(5) - (6)].timespec).tv_nsec);
        pc->meridian = (yyvsp[(6) - (6)].intval);
       }
     break;
 
   case 19:
-#line 356 "getdate.y"
+#line 369 "getdate.y"
     {
-       pc->hour = (yyvsp[(1) - (7)].textintval).value;
-       pc->minutes = (yyvsp[(3) - (7)].textintval).value;
-       pc->seconds = (yyvsp[(5) - (7)].timespec);
+       set_hhmmss (pc, (yyvsp[(1) - (7)].textintval).value, (yyvsp[(3) - (7)].textintval).value, (yyvsp[(5) - (7)].timespec).tv_sec, (yyvsp[(5) - (7)].timespec).tv_nsec);
        pc->meridian = MER24;
        pc->zones_seen++;
-       pc->time_zone = time_zone_hhmm ((yyvsp[(6) - (7)].textintval), (yyvsp[(7) - (7)].intval));
+       pc->time_zone = time_zone_hhmm (pc, (yyvsp[(6) - (7)].textintval), (yyvsp[(7) - (7)].intval));
       }
     break;
 
   case 20:
-#line 368 "getdate.y"
+#line 379 "getdate.y"
     {
        pc->local_isdst = (yyvsp[(1) - (1)].intval);
        pc->dsts_seen += (0 < (yyvsp[(1) - (1)].intval));
@@ -1802,7 +1815,7 @@ yyreduce:
     break;
 
   case 21:
-#line 373 "getdate.y"
+#line 384 "getdate.y"
     {
        pc->local_isdst = 1;
        pc->dsts_seen += (0 < (yyvsp[(1) - (2)].intval)) + 1;
@@ -1810,40 +1823,33 @@ yyreduce:
     break;
 
   case 22:
-#line 381 "getdate.y"
+#line 392 "getdate.y"
     { pc->time_zone = (yyvsp[(1) - (1)].intval); }
     break;
 
   case 23:
-#line 383 "getdate.y"
+#line 394 "getdate.y"
     { pc->time_zone = (yyvsp[(1) - (2)].intval);
-       pc->rel.ns += (yyvsp[(2) - (2)].rel).ns;
-       pc->rel.seconds += (yyvsp[(2) - (2)].rel).seconds;
-       pc->rel.minutes += (yyvsp[(2) - (2)].rel).minutes;
-       pc->rel.hour += (yyvsp[(2) - (2)].rel).hour;
-       pc->rel.day += (yyvsp[(2) - (2)].rel).day;
-       pc->rel.month += (yyvsp[(2) - (2)].rel).month;
-       pc->rel.year += (yyvsp[(2) - (2)].rel).year;
-        pc->rels_seen = true; }
+       apply_relative_time (pc, (yyvsp[(2) - (2)].rel), 1); }
     break;
 
   case 24:
-#line 393 "getdate.y"
-    { pc->time_zone = (yyvsp[(1) - (3)].intval) + time_zone_hhmm ((yyvsp[(2) - (3)].textintval), (yyvsp[(3) - (3)].intval)); }
+#line 397 "getdate.y"
+    { pc->time_zone = (yyvsp[(1) - (3)].intval) + time_zone_hhmm (pc, (yyvsp[(2) - (3)].textintval), (yyvsp[(3) - (3)].intval)); }
     break;
 
   case 25:
-#line 395 "getdate.y"
+#line 399 "getdate.y"
     { pc->time_zone = (yyvsp[(1) - (1)].intval) + 60; }
     break;
 
   case 26:
-#line 397 "getdate.y"
+#line 401 "getdate.y"
     { pc->time_zone = (yyvsp[(1) - (2)].intval) + 60; }
     break;
 
   case 27:
-#line 402 "getdate.y"
+#line 406 "getdate.y"
     {
        pc->day_ordinal = 1;
        pc->day_number = (yyvsp[(1) - (1)].intval);
@@ -1851,7 +1857,7 @@ yyreduce:
     break;
 
   case 28:
-#line 407 "getdate.y"
+#line 411 "getdate.y"
     {
        pc->day_ordinal = 1;
        pc->day_number = (yyvsp[(1) - (2)].intval);
@@ -1859,7 +1865,7 @@ yyreduce:
     break;
 
   case 29:
-#line 412 "getdate.y"
+#line 416 "getdate.y"
     {
        pc->day_ordinal = (yyvsp[(1) - (2)].intval);
        pc->day_number = (yyvsp[(2) - (2)].intval);
@@ -1867,7 +1873,7 @@ yyreduce:
     break;
 
   case 30:
-#line 417 "getdate.y"
+#line 421 "getdate.y"
     {
        pc->day_ordinal = (yyvsp[(1) - (2)].textintval).value;
        pc->day_number = (yyvsp[(2) - (2)].intval);
@@ -1875,7 +1881,7 @@ yyreduce:
     break;
 
   case 31:
-#line 425 "getdate.y"
+#line 429 "getdate.y"
     {
        pc->month = (yyvsp[(1) - (3)].textintval).value;
        pc->day = (yyvsp[(3) - (3)].textintval).value;
@@ -1883,7 +1889,7 @@ yyreduce:
     break;
 
   case 32:
-#line 430 "getdate.y"
+#line 434 "getdate.y"
     {
        /* Interpret as YYYY/MM/DD if the first value has 4 or more digits,
           otherwise as MM/DD/YY.
@@ -1906,7 +1912,7 @@ yyreduce:
     break;
 
   case 33:
-#line 450 "getdate.y"
+#line 454 "getdate.y"
     {
        /* ISO 8601 format.  YYYY-MM-DD.  */
        pc->year = (yyvsp[(1) - (3)].textintval);
@@ -1916,7 +1922,7 @@ yyreduce:
     break;
 
   case 34:
-#line 457 "getdate.y"
+#line 461 "getdate.y"
     {
        /* e.g. 17-JUN-1992.  */
        pc->day = (yyvsp[(1) - (3)].textintval).value;
@@ -1927,7 +1933,7 @@ yyreduce:
     break;
 
   case 35:
-#line 465 "getdate.y"
+#line 469 "getdate.y"
     {
        /* e.g. JUN-17-1992.  */
        pc->month = (yyvsp[(1) - (3)].intval);
@@ -1938,7 +1944,7 @@ yyreduce:
     break;
 
   case 36:
-#line 473 "getdate.y"
+#line 477 "getdate.y"
     {
        pc->month = (yyvsp[(1) - (2)].intval);
        pc->day = (yyvsp[(2) - (2)].textintval).value;
@@ -1946,7 +1952,7 @@ yyreduce:
     break;
 
   case 37:
-#line 478 "getdate.y"
+#line 482 "getdate.y"
     {
        pc->month = (yyvsp[(1) - (4)].intval);
        pc->day = (yyvsp[(2) - (4)].textintval).value;
@@ -1955,7 +1961,7 @@ yyreduce:
     break;
 
   case 38:
-#line 484 "getdate.y"
+#line 488 "getdate.y"
     {
        pc->day = (yyvsp[(1) - (2)].textintval).value;
        pc->month = (yyvsp[(2) - (2)].intval);
@@ -1963,7 +1969,7 @@ yyreduce:
     break;
 
   case 39:
-#line 489 "getdate.y"
+#line 493 "getdate.y"
     {
        pc->day = (yyvsp[(1) - (3)].textintval).value;
        pc->month = (yyvsp[(2) - (3)].intval);
@@ -1972,216 +1978,203 @@ yyreduce:
     break;
 
   case 40:
-#line 498 "getdate.y"
-    {
-       pc->rel.ns -= (yyvsp[(1) - (2)].rel).ns;
-       pc->rel.seconds -= (yyvsp[(1) - (2)].rel).seconds;
-       pc->rel.minutes -= (yyvsp[(1) - (2)].rel).minutes;
-       pc->rel.hour -= (yyvsp[(1) - (2)].rel).hour;
-       pc->rel.day -= (yyvsp[(1) - (2)].rel).day;
-       pc->rel.month -= (yyvsp[(1) - (2)].rel).month;
-       pc->rel.year -= (yyvsp[(1) - (2)].rel).year;
-      }
+#line 502 "getdate.y"
+    { apply_relative_time (pc, (yyvsp[(1) - (2)].rel), -1); }
     break;
 
   case 41:
-#line 508 "getdate.y"
-    {
-       pc->rel.ns += (yyvsp[(1) - (1)].rel).ns;
-       pc->rel.seconds += (yyvsp[(1) - (1)].rel).seconds;
-       pc->rel.minutes += (yyvsp[(1) - (1)].rel).minutes;
-       pc->rel.hour += (yyvsp[(1) - (1)].rel).hour;
-       pc->rel.day += (yyvsp[(1) - (1)].rel).day;
-       pc->rel.month += (yyvsp[(1) - (1)].rel).month;
-       pc->rel.year += (yyvsp[(1) - (1)].rel).year;
-      }
+#line 504 "getdate.y"
+    { apply_relative_time (pc, (yyvsp[(1) - (1)].rel), 1); }
     break;
 
   case 42:
-#line 521 "getdate.y"
-    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].intval); }
+#line 506 "getdate.y"
+    { apply_relative_time (pc, (yyvsp[(1) - (1)].rel), 1); }
     break;
 
   case 43:
-#line 523 "getdate.y"
-    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].textintval).value; }
+#line 511 "getdate.y"
+    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].intval); }
     break;
 
   case 44:
-#line 525 "getdate.y"
-    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = 1; }
+#line 513 "getdate.y"
+    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].textintval).value; }
     break;
 
   case 45:
-#line 527 "getdate.y"
-    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].intval); }
+#line 515 "getdate.y"
+    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = 1; }
     break;
 
   case 46:
-#line 529 "getdate.y"
-    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].textintval).value; }
+#line 517 "getdate.y"
+    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].intval); }
     break;
 
   case 47:
-#line 531 "getdate.y"
-    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = 1; }
+#line 519 "getdate.y"
+    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].textintval).value; }
     break;
 
   case 48:
-#line 533 "getdate.y"
-    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].intval) * (yyvsp[(2) - (2)].intval); }
+#line 521 "getdate.y"
+    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = 1; }
     break;
 
   case 49:
-#line 535 "getdate.y"
-    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].textintval).value * (yyvsp[(2) - (2)].intval); }
+#line 523 "getdate.y"
+    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].intval) * (yyvsp[(2) - (2)].intval); }
     break;
 
   case 50:
-#line 537 "getdate.y"
-    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (1)].intval); }
+#line 525 "getdate.y"
+    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].textintval).value * (yyvsp[(2) - (2)].intval); }
     break;
 
   case 51:
-#line 539 "getdate.y"
-    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].intval); }
+#line 527 "getdate.y"
+    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (1)].intval); }
     break;
 
   case 52:
-#line 541 "getdate.y"
-    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].textintval).value; }
+#line 529 "getdate.y"
+    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].intval); }
     break;
 
   case 53:
-#line 543 "getdate.y"
-    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = 1; }
+#line 531 "getdate.y"
+    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].textintval).value; }
     break;
 
   case 54:
-#line 545 "getdate.y"
-    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].intval); }
+#line 533 "getdate.y"
+    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = 1; }
     break;
 
   case 55:
-#line 547 "getdate.y"
-    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].textintval).value; }
+#line 535 "getdate.y"
+    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].intval); }
     break;
 
   case 56:
-#line 549 "getdate.y"
-    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = 1; }
+#line 537 "getdate.y"
+    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].textintval).value; }
     break;
 
   case 57:
-#line 551 "getdate.y"
-    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].intval); }
+#line 539 "getdate.y"
+    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = 1; }
     break;
 
   case 58:
-#line 553 "getdate.y"
-    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].textintval).value; }
+#line 541 "getdate.y"
+    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].intval); }
     break;
 
   case 59:
-#line 555 "getdate.y"
-    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].timespec).tv_sec; (yyval.rel).ns = (yyvsp[(1) - (2)].timespec).tv_nsec; }
+#line 543 "getdate.y"
+    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].textintval).value; }
     break;
 
   case 60:
-#line 557 "getdate.y"
+#line 545 "getdate.y"
     { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].timespec).tv_sec; (yyval.rel).ns = (yyvsp[(1) - (2)].timespec).tv_nsec; }
     break;
 
   case 61:
-#line 559 "getdate.y"
+#line 547 "getdate.y"
+    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].timespec).tv_sec; (yyval.rel).ns = (yyvsp[(1) - (2)].timespec).tv_nsec; }
+    break;
+
+  case 62:
+#line 549 "getdate.y"
     { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = 1; }
     break;
 
-  case 63:
-#line 565 "getdate.y"
+  case 64:
+#line 555 "getdate.y"
     { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].textintval).value; }
     break;
 
-  case 64:
-#line 567 "getdate.y"
+  case 65:
+#line 557 "getdate.y"
     { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].textintval).value; }
     break;
 
-  case 65:
-#line 569 "getdate.y"
+  case 66:
+#line 559 "getdate.y"
     { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].textintval).value * (yyvsp[(2) - (2)].intval); }
     break;
 
-  case 66:
-#line 571 "getdate.y"
+  case 67:
+#line 561 "getdate.y"
     { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].textintval).value; }
     break;
 
-  case 67:
-#line 573 "getdate.y"
+  case 68:
+#line 563 "getdate.y"
     { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].textintval).value; }
     break;
 
-  case 68:
-#line 575 "getdate.y"
+  case 69:
+#line 565 "getdate.y"
     { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].textintval).value; }
     break;
 
-  case 72:
-#line 583 "getdate.y"
-    { (yyval.timespec).tv_sec = (yyvsp[(1) - (1)].textintval).value; (yyval.timespec).tv_nsec = 0; }
+  case 70:
+#line 570 "getdate.y"
+    { (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (1)].intval); }
     break;
 
   case 74:
-#line 589 "getdate.y"
+#line 578 "getdate.y"
     { (yyval.timespec).tv_sec = (yyvsp[(1) - (1)].textintval).value; (yyval.timespec).tv_nsec = 0; }
     break;
 
-  case 75:
-#line 594 "getdate.y"
+  case 76:
+#line 584 "getdate.y"
+    { (yyval.timespec).tv_sec = (yyvsp[(1) - (1)].textintval).value; (yyval.timespec).tv_nsec = 0; }
+    break;
+
+  case 77:
+#line 589 "getdate.y"
     { digits_to_date_time (pc, (yyvsp[(1) - (1)].textintval)); }
     break;
 
-  case 76:
-#line 599 "getdate.y"
+  case 78:
+#line 594 "getdate.y"
     {
        /* Hybrid all-digit and relative offset, so that we accept e.g.,
           "YYYYMMDD +N days" as well as "YYYYMMDD N days".  */
        digits_to_date_time (pc, (yyvsp[(1) - (2)].textintval));
-       pc->rel.ns += (yyvsp[(2) - (2)].rel).ns;
-       pc->rel.seconds += (yyvsp[(2) - (2)].rel).seconds;
-       pc->rel.minutes += (yyvsp[(2) - (2)].rel).minutes;
-       pc->rel.hour += (yyvsp[(2) - (2)].rel).hour;
-       pc->rel.day += (yyvsp[(2) - (2)].rel).day;
-       pc->rel.month += (yyvsp[(2) - (2)].rel).month;
-       pc->rel.year += (yyvsp[(2) - (2)].rel).year;
-       pc->rels_seen = true;
+       apply_relative_time (pc, (yyvsp[(2) - (2)].rel), 1);
       }
     break;
 
-  case 77:
-#line 616 "getdate.y"
+  case 79:
+#line 604 "getdate.y"
     { (yyval.intval) = -1; }
     break;
 
-  case 78:
-#line 618 "getdate.y"
+  case 80:
+#line 606 "getdate.y"
     { (yyval.intval) = (yyvsp[(2) - (2)].textintval).value; }
     break;
 
-  case 79:
-#line 623 "getdate.y"
+  case 81:
+#line 611 "getdate.y"
     { (yyval.intval) = MER24; }
     break;
 
-  case 80:
-#line 625 "getdate.y"
+  case 82:
+#line 613 "getdate.y"
     { (yyval.intval) = (yyvsp[(1) - (1)].intval); }
     break;
 
 
 /* Line 1267 of yacc.c.  */
-#line 2185 "getdate.c"
+#line 2178 "getdate.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2395,7 +2388,7 @@ yyreturn:
 }
 
 
-#line 628 "getdate.y"
+#line 616 "getdate.y"
 
 
 static table const meridian_table[] =
@@ -2459,10 +2452,10 @@ static table const time_units_table[] =
 /* Assorted relative-time words. */
 static table const relative_time_table[] =
 {
-  { "TOMORROW",        tDAY_UNIT,       1 },
-  { "YESTERDAY",tDAY_UNIT,     -1 },
-  { "TODAY",   tDAY_UNIT,       0 },
-  { "NOW",     tDAY_UNIT,       0 },
+  { "TOMORROW",        tDAY_SHIFT,      1 },
+  { "YESTERDAY",tDAY_SHIFT,    -1 },
+  { "TODAY",   tDAY_SHIFT,      0 },
+  { "NOW",     tDAY_SHIFT,      0 },
   { "LAST",    tORDINAL,       -1 },
   { "THIS",    tORDINAL,        0 },
   { "NEXT",    tORDINAL,        1 },
@@ -2585,15 +2578,33 @@ static table const military_table[] =
 
 /* Convert a time zone expressed as HH:MM into an integer count of
    minutes.  If MM is negative, then S is of the form HHMM and needs
-   to be picked apart; otherwise, S is of the form HH.  */
+   to be picked apart; otherwise, S is of the form HH.  As specified in
+   http://www.opengroup.org/susv3xbd/xbd_chap08.html#tag_08_03, allow
+   only valid TZ range, and consider first two digits as hours, if no
+   minutes specified.  */
 
 static long int
-time_zone_hhmm (textint s, long int mm)
+time_zone_hhmm (parser_control *pc, textint s, long int mm)
 {
+  long int n_minutes;
+
+  /* If the length of S is 1 or 2 and no minutes are specified,
+     interpret it as a number of hours.  */
+  if (s.digits <= 2 && mm < 0)
+    s.value *= 100;
+
   if (mm < 0)
-    return (s.value / 100) * 60 + s.value % 100;
+    n_minutes = (s.value / 100) * 60 + s.value % 100;
   else
-    return s.value * 60 + (s.negative ? -mm : mm);
+    n_minutes = s.value * 60 + (s.negative ? -mm : mm);
+
+  /* If the absolute number of minutes is larger than 24 hours,
+     arrange to reject it by incrementing pc->zones_seen.  Thus,
+     we allow only values in the range UTC-24:00 to UTC+24:00.  */
+  if (24 * 60 < abs (n_minutes))
+    pc->zones_seen++;
+
+  return n_minutes;
 }
 
 static int
@@ -2690,7 +2701,7 @@ lookup_word (parser_control const *pc, char *word)
   for (p = word; *p; p++)
     {
       unsigned char ch = *p;
-      *p = toupper (ch);
+      *p = c_toupper (ch);
     }
 
   for (tp = meridian_table; tp->name; tp++)
@@ -2755,7 +2766,7 @@ yylex (YYSTYPE *lvalp, parser_control *pc)
 
   for (;;)
     {
-      while (c = *pc->input, isspace (c))
+      while (c = *pc->input, c_isspace (c))
        pc->input++;
 
       if (ISDIGIT (c) || c == '-' || c == '+')
@@ -2766,7 +2777,7 @@ yylex (YYSTYPE *lvalp, parser_control *pc)
          if (c == '-' || c == '+')
            {
              sign = c == '-' ? -1 : 1;
-             while (c = *++pc->input, isspace (c))
+             while (c = *++pc->input, c_isspace (c))
                continue;
              if (! ISDIGIT (c))
                /* skip the '-' sign */
@@ -2870,7 +2881,7 @@ yylex (YYSTYPE *lvalp, parser_control *pc)
            }
        }
 
-      if (isalpha (c))
+      if (c_isalpha (c))
        {
          char buff[20];
          char *p = buff;
@@ -2882,7 +2893,7 @@ yylex (YYSTYPE *lvalp, parser_control *pc)
                *p++ = c;
              c = *++pc->input;
            }
-         while (isalpha (c) || c == '.');
+         while (c_isalpha (c) || c == '.');
 
          *p = '\0';
          tp = lookup_word (pc, buff);
@@ -2995,7 +3006,7 @@ get_date (struct timespec *result, char const *p, struct timespec const *now)
   if (! tmp)
     return false;
 
-  while (c = *p, isspace (c))
+  while (c = *p, c_isspace (c))
     p++;
 
   if (strncmp (p, "TZ=\"", 4) == 0)
@@ -3207,25 +3218,6 @@ get_date (struct timespec *result, char const *p, struct timespec const *now)
            goto fail;
        }
 
-      if (pc.zones_seen)
-       {
-         long int delta = pc.time_zone * 60;
-         time_t t1;
-#ifdef HAVE_TM_GMTOFF
-         delta -= tm.tm_gmtoff;
-#else
-         time_t t = Start;
-         struct tm const *gmt = gmtime (&t);
-         if (! gmt)
-           goto fail;
-         delta -= tm_diff (&tm, gmt);
-#endif
-         t1 = Start - delta;
-         if ((Start < t1) != (delta < 0))
-           goto fail;  /* time_t overflow */
-         Start = t1;
-       }
-
       /* Add relative date.  */
       if (pc.rel.year | pc.rel.month | pc.rel.day)
        {
@@ -3248,6 +3240,27 @@ get_date (struct timespec *result, char const *p, struct timespec const *now)
            goto fail;
        }
 
+      /* The only "output" of this if-block is an updated Start value,
+        so this block must follow others that clobber Start.  */
+      if (pc.zones_seen)
+       {
+         long int delta = pc.time_zone * 60;
+         time_t t1;
+#ifdef HAVE_TM_GMTOFF
+         delta -= tm.tm_gmtoff;
+#else
+         time_t t = Start;
+         struct tm const *gmt = gmtime (&t);
+         if (! gmt)
+           goto fail;
+         delta -= tm_diff (&tm, gmt);
+#endif
+         t1 = Start - delta;
+         if ((Start < t1) != (delta < 0))
+           goto fail;  /* time_t overflow */
+         Start = t1;
+       }
+
       /* Add relative hours, minutes, and seconds.  On hosts that support
         leap seconds, ignore the possibility of leap seconds; e.g.,
         "+ 10 minutes" adds 600 seconds, even if one of them is a
index 1deec5160de23f166e0e569778e8824cc4e56d4a..877b264250ac6c15d6f0e73faf8c2f4528f1c29e 100644 (file)
@@ -1,8 +1,8 @@
 %{
 /* Parse a string into an internal time stamp.
 
-   Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
-   Foundation, Inc.
+   Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+   Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -60,7 +60,7 @@
 # undef static
 #endif
 
-#include <ctype.h>
+#include <c-ctype.h>
 #include <limits.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -205,7 +205,7 @@ typedef struct
 union YYSTYPE;
 static int yylex (union YYSTYPE *, parser_control *);
 static int yyerror (parser_control const *, char const *);
-static long int time_zone_hhmm (textint, long int);
+static long int time_zone_hhmm (parser_control *, textint, long int);
 
 /* Extract into *PC any date and time info from a string of digits
    of the form e.g., YYYYMMDD, YYMMDD, HHMM, HH (and sometimes YYY,
@@ -246,6 +246,31 @@ digits_to_date_time (parser_control *pc, textint text_int)
     }
 }
 
+/* Increment PC->rel by FACTOR * REL (FACTOR is 1 or -1).  */
+static void
+apply_relative_time (parser_control *pc, relative_time rel, int factor)
+{
+  pc->rel.ns += factor * rel.ns;
+  pc->rel.seconds += factor * rel.seconds;
+  pc->rel.minutes += factor * rel.minutes;
+  pc->rel.hour += factor * rel.hour;
+  pc->rel.day += factor * rel.day;
+  pc->rel.month += factor * rel.month;
+  pc->rel.year += factor * rel.year;
+  pc->rels_seen = true;
+}
+
+/* Set PC-> hour, minutes, seconds and nanoseconds members from arguments.  */
+static void
+set_hhmmss (parser_control *pc, long int hour, long int minutes,
+           time_t sec, long int nsec)
+{
+  pc->hour = hour;
+  pc->minutes = minutes;
+  pc->seconds.tv_sec = sec;
+  pc->seconds.tv_nsec = nsec;
+}
+
 %}
 
 /* We want a reentrant parser, even if the TZ manipulation and the calls to
@@ -268,7 +293,7 @@ digits_to_date_time (parser_control *pc, textint text_int)
 %token tAGO tDST
 
 %token tYEAR_UNIT tMONTH_UNIT tHOUR_UNIT tMINUTE_UNIT tSEC_UNIT
-%token <intval> tDAY_UNIT
+%token <intval> tDAY_UNIT tDAY_SHIFT
 
 %token <intval> tDAY tDAYZONE tLOCAL_ZONE tMERIDIAN
 %token <intval> tMONTH tORDINAL tZONE
@@ -279,7 +304,7 @@ digits_to_date_time (parser_control *pc, textint text_int)
 %type <intval> o_colon_minutes o_merid
 %type <timespec> seconds signed_seconds unsigned_seconds
 
-%type <rel> relunit relunit_snumber
+%type <rel> relunit relunit_snumber dayshift
 
 %%
 
@@ -313,7 +338,6 @@ item:
   | day
       { pc->days_seen++; }
   | rel
-      { pc->rels_seen = true; }
   | number
   | hybrid
   ;
@@ -321,45 +345,32 @@ item:
 time:
     tUNUMBER tMERIDIAN
       {
-       pc->hour = $1.value;
-       pc->minutes = 0;
-       pc->seconds.tv_sec = 0;
-       pc->seconds.tv_nsec = 0;
+       set_hhmmss (pc, $1.value, 0, 0, 0);
        pc->meridian = $2;
       }
   | tUNUMBER ':' tUNUMBER o_merid
       {
-       pc->hour = $1.value;
-       pc->minutes = $3.value;
-       pc->seconds.tv_sec = 0;
-       pc->seconds.tv_nsec = 0;
+       set_hhmmss (pc, $1.value, $3.value, 0, 0);
        pc->meridian = $4;
       }
   | tUNUMBER ':' tUNUMBER tSNUMBER o_colon_minutes
       {
-       pc->hour = $1.value;
-       pc->minutes = $3.value;
-       pc->seconds.tv_sec = 0;
-       pc->seconds.tv_nsec = 0;
+       set_hhmmss (pc, $1.value, $3.value, 0, 0);
        pc->meridian = MER24;
        pc->zones_seen++;
-       pc->time_zone = time_zone_hhmm ($4, $5);
+       pc->time_zone = time_zone_hhmm (pc, $4, $5);
       }
   | tUNUMBER ':' tUNUMBER ':' unsigned_seconds o_merid
       {
-       pc->hour = $1.value;
-       pc->minutes = $3.value;
-       pc->seconds = $5;
+       set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec);
        pc->meridian = $6;
       }
   | tUNUMBER ':' tUNUMBER ':' unsigned_seconds tSNUMBER o_colon_minutes
       {
-       pc->hour = $1.value;
-       pc->minutes = $3.value;
-       pc->seconds = $5;
+       set_hhmmss (pc, $1.value, $3.value, $5.tv_sec, $5.tv_nsec);
        pc->meridian = MER24;
        pc->zones_seen++;
-       pc->time_zone = time_zone_hhmm ($6, $7);
+       pc->time_zone = time_zone_hhmm (pc, $6, $7);
       }
   ;
 
@@ -381,16 +392,9 @@ zone:
       { pc->time_zone = $1; }
   | tZONE relunit_snumber
       { pc->time_zone = $1;
-       pc->rel.ns += $2.ns;
-       pc->rel.seconds += $2.seconds;
-       pc->rel.minutes += $2.minutes;
-       pc->rel.hour += $2.hour;
-       pc->rel.day += $2.day;
-       pc->rel.month += $2.month;
-       pc->rel.year += $2.year;
-        pc->rels_seen = true; }
+       apply_relative_time (pc, $2, 1); }
   | tZONE tSNUMBER o_colon_minutes
-      { pc->time_zone = $1 + time_zone_hhmm ($2, $3); }
+      { pc->time_zone = $1 + time_zone_hhmm (pc, $2, $3); }
   | tDAYZONE
       { pc->time_zone = $1 + 60; }
   | tZONE tDST
@@ -495,25 +499,11 @@ date:
 
 rel:
     relunit tAGO
-      {
-       pc->rel.ns -= $1.ns;
-       pc->rel.seconds -= $1.seconds;
-       pc->rel.minutes -= $1.minutes;
-       pc->rel.hour -= $1.hour;
-       pc->rel.day -= $1.day;
-       pc->rel.month -= $1.month;
-       pc->rel.year -= $1.year;
-      }
+      { apply_relative_time (pc, $1, -1); }
   | relunit
-      {
-       pc->rel.ns += $1.ns;
-       pc->rel.seconds += $1.seconds;
-       pc->rel.minutes += $1.minutes;
-       pc->rel.hour += $1.hour;
-       pc->rel.day += $1.day;
-       pc->rel.month += $1.month;
-       pc->rel.year += $1.year;
-      }
+      { apply_relative_time (pc, $1, 1); }
+  | dayshift
+      { apply_relative_time (pc, $1, 1); }
   ;
 
 relunit:
@@ -575,6 +565,11 @@ relunit_snumber:
       { $$ = RELATIVE_TIME_0; $$.seconds = $1.value; }
   ;
 
+dayshift:
+    tDAY_SHIFT
+      { $$ = RELATIVE_TIME_0; $$.day = $1; }
+  ;
+
 seconds: signed_seconds | unsigned_seconds;
 
 signed_seconds:
@@ -600,14 +595,7 @@ hybrid:
        /* Hybrid all-digit and relative offset, so that we accept e.g.,
           "YYYYMMDD +N days" as well as "YYYYMMDD N days".  */
        digits_to_date_time (pc, $1);
-       pc->rel.ns += $2.ns;
-       pc->rel.seconds += $2.seconds;
-       pc->rel.minutes += $2.minutes;
-       pc->rel.hour += $2.hour;
-       pc->rel.day += $2.day;
-       pc->rel.month += $2.month;
-       pc->rel.year += $2.year;
-       pc->rels_seen = true;
+       apply_relative_time (pc, $2, 1);
       }
   ;
 
@@ -688,10 +676,10 @@ static table const time_units_table[] =
 /* Assorted relative-time words. */
 static table const relative_time_table[] =
 {
-  { "TOMORROW",        tDAY_UNIT,       1 },
-  { "YESTERDAY",tDAY_UNIT,     -1 },
-  { "TODAY",   tDAY_UNIT,       0 },
-  { "NOW",     tDAY_UNIT,       0 },
+  { "TOMORROW",        tDAY_SHIFT,      1 },
+  { "YESTERDAY",tDAY_SHIFT,    -1 },
+  { "TODAY",   tDAY_SHIFT,      0 },
+  { "NOW",     tDAY_SHIFT,      0 },
   { "LAST",    tORDINAL,       -1 },
   { "THIS",    tORDINAL,        0 },
   { "NEXT",    tORDINAL,        1 },
@@ -814,15 +802,33 @@ static table const military_table[] =
 
 /* Convert a time zone expressed as HH:MM into an integer count of
    minutes.  If MM is negative, then S is of the form HHMM and needs
-   to be picked apart; otherwise, S is of the form HH.  */
+   to be picked apart; otherwise, S is of the form HH.  As specified in
+   http://www.opengroup.org/susv3xbd/xbd_chap08.html#tag_08_03, allow
+   only valid TZ range, and consider first two digits as hours, if no
+   minutes specified.  */
 
 static long int
-time_zone_hhmm (textint s, long int mm)
+time_zone_hhmm (parser_control *pc, textint s, long int mm)
 {
+  long int n_minutes;
+
+  /* If the length of S is 1 or 2 and no minutes are specified,
+     interpret it as a number of hours.  */
+  if (s.digits <= 2 && mm < 0)
+    s.value *= 100;
+
   if (mm < 0)
-    return (s.value / 100) * 60 + s.value % 100;
+    n_minutes = (s.value / 100) * 60 + s.value % 100;
   else
-    return s.value * 60 + (s.negative ? -mm : mm);
+    n_minutes = s.value * 60 + (s.negative ? -mm : mm);
+
+  /* If the absolute number of minutes is larger than 24 hours,
+     arrange to reject it by incrementing pc->zones_seen.  Thus,
+     we allow only values in the range UTC-24:00 to UTC+24:00.  */
+  if (24 * 60 < abs (n_minutes))
+    pc->zones_seen++;
+
+  return n_minutes;
 }
 
 static int
@@ -919,7 +925,7 @@ lookup_word (parser_control const *pc, char *word)
   for (p = word; *p; p++)
     {
       unsigned char ch = *p;
-      *p = toupper (ch);
+      *p = c_toupper (ch);
     }
 
   for (tp = meridian_table; tp->name; tp++)
@@ -984,7 +990,7 @@ yylex (YYSTYPE *lvalp, parser_control *pc)
 
   for (;;)
     {
-      while (c = *pc->input, isspace (c))
+      while (c = *pc->input, c_isspace (c))
        pc->input++;
 
       if (ISDIGIT (c) || c == '-' || c == '+')
@@ -995,7 +1001,7 @@ yylex (YYSTYPE *lvalp, parser_control *pc)
          if (c == '-' || c == '+')
            {
              sign = c == '-' ? -1 : 1;
-             while (c = *++pc->input, isspace (c))
+             while (c = *++pc->input, c_isspace (c))
                continue;
              if (! ISDIGIT (c))
                /* skip the '-' sign */
@@ -1099,7 +1105,7 @@ yylex (YYSTYPE *lvalp, parser_control *pc)
            }
        }
 
-      if (isalpha (c))
+      if (c_isalpha (c))
        {
          char buff[20];
          char *p = buff;
@@ -1111,7 +1117,7 @@ yylex (YYSTYPE *lvalp, parser_control *pc)
                *p++ = c;
              c = *++pc->input;
            }
-         while (isalpha (c) || c == '.');
+         while (c_isalpha (c) || c == '.');
 
          *p = '\0';
          tp = lookup_word (pc, buff);
@@ -1224,7 +1230,7 @@ get_date (struct timespec *result, char const *p, struct timespec const *now)
   if (! tmp)
     return false;
 
-  while (c = *p, isspace (c))
+  while (c = *p, c_isspace (c))
     p++;
 
   if (strncmp (p, "TZ=\"", 4) == 0)
@@ -1436,25 +1442,6 @@ get_date (struct timespec *result, char const *p, struct timespec const *now)
            goto fail;
        }
 
-      if (pc.zones_seen)
-       {
-         long int delta = pc.time_zone * 60;
-         time_t t1;
-#ifdef HAVE_TM_GMTOFF
-         delta -= tm.tm_gmtoff;
-#else
-         time_t t = Start;
-         struct tm const *gmt = gmtime (&t);
-         if (! gmt)
-           goto fail;
-         delta -= tm_diff (&tm, gmt);
-#endif
-         t1 = Start - delta;
-         if ((Start < t1) != (delta < 0))
-           goto fail;  /* time_t overflow */
-         Start = t1;
-       }
-
       /* Add relative date.  */
       if (pc.rel.year | pc.rel.month | pc.rel.day)
        {
@@ -1477,6 +1464,27 @@ get_date (struct timespec *result, char const *p, struct timespec const *now)
            goto fail;
        }
 
+      /* The only "output" of this if-block is an updated Start value,
+        so this block must follow others that clobber Start.  */
+      if (pc.zones_seen)
+       {
+         long int delta = pc.time_zone * 60;
+         time_t t1;
+#ifdef HAVE_TM_GMTOFF
+         delta -= tm.tm_gmtoff;
+#else
+         time_t t = Start;
+         struct tm const *gmt = gmtime (&t);
+         if (! gmt)
+           goto fail;
+         delta -= tm_diff (&tm, gmt);
+#endif
+         t1 = Start - delta;
+         if ((Start < t1) != (delta < 0))
+           goto fail;  /* time_t overflow */
+         Start = t1;
+       }
+
       /* Add relative hours, minutes, and seconds.  On hosts that support
         leap seconds, ignore the possibility of leap seconds; e.g.,
         "+ 10 minutes" adds 600 seconds, even if one of them is a
index 286a460f816d36818827d204ebbe9e631455acc6..4cd1c1171e6a7e6c0849281fe252d615a8215056 100644 (file)
 #ifndef SSIZE_MAX
 # define SSIZE_MAX ((ssize_t) (SIZE_MAX / 2))
 #endif
-#if !HAVE_FLOCKFILE
+
+#if USE_UNLOCKED_IO
+# include "unlocked-io.h"
+# define getc_maybe_unlocked(fp)       getc(fp)
+#elif !HAVE_FLOCKFILE || !HAVE_FUNLOCKFILE || !HAVE_DECL_GETC_UNLOCKED
 # undef flockfile
-# define flockfile(x) ((void) 0)
-#endif
-#if !HAVE_FUNLOCKFILE
 # undef funlockfile
+# define flockfile(x) ((void) 0)
 # define funlockfile(x) ((void) 0)
+# define getc_maybe_unlocked(fp)       getc(fp)
+#else
+# define getc_maybe_unlocked(fp)       getc_unlocked(fp)
 #endif
 
 /* Read up to (and including) a DELIMITER from FP into *LINEPTR (and
@@ -81,7 +86,7 @@ getdelim (char **lineptr, size_t *n, int delimiter, FILE *fp)
     {
       int i;
 
-      i = getc (fp);
+      i = getc_maybe_unlocked (fp);
       if (i == EOF)
        {
          result = -1;
index 0472c1263f1e83ce20c7d6280551f04687b5481c..5792021c2b99bef09973615ba3968b8c31e9d6d3 100644 (file)
@@ -9,10 +9,11 @@
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libtar --source-base=.#bootmp/lib --m4-base=.#bootmp/m4 --doc-base=.#bootmp/doc --aux-dir=.#bootmp/build-aux --avoid=lock --avoid=size_max --no-libtool --macro-prefix=gl alloca argmatch argp backupfile closeout configmake dirname error exclude exitfail fileblocks fnmatch-gnu fseeko ftruncate full-write getdate getline getopt getpagesize gettext gettime hash human inttostr inttypes lchown localcharset memset mkdtemp modechange obstack quote quotearg rmdir rpmatch safe-read save-cwd savedir setenv snprintf stat-time stdbool stdint stpcpy strdup strerror strtol strtoul timespec unlinkdir unlocked-io utime utimens version-etc-fsf xalloc xalloc-die xgetcwd xstrtoumax
+# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libtar --source-base=.#bootmp/lib --m4-base=.#bootmp/m4 --doc-base=.#bootmp/doc --tests-base=.#bootmp/tests --aux-dir=.#bootmp/build-aux --avoid=lock --avoid=size_max --no-libtool --macro-prefix=gl alloca argmatch argp backupfile closeout configmake dirname error exclude exitfail fileblocks fnmatch-gnu fseeko ftruncate full-write getdate getline getopt getpagesize gettext gettime hash human inttostr inttypes lchown localcharset memset mkdtemp modechange obstack quote quotearg rmdir rpmatch safe-read save-cwd savedir setenv snprintf stat-time stdbool stdint stpcpy strdup strerror strtol strtoul timespec unlinkdir unlocked-io utime utimens version-etc-fsf xalloc xalloc-die xgetcwd xstrtoumax
 
 AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects
 
+SUBDIRS =
 noinst_HEADERS =
 noinst_LIBRARIES =
 noinst_LTLIBRARIES =
@@ -89,6 +90,12 @@ EXTRA_libtar_a_SOURCES += backupfile.c
 
 ## end   gnulib module backupfile
 
+## begin gnulib module c-ctype
+
+libtar_a_SOURCES += c-ctype.h c-ctype.c
+
+## end   gnulib module c-ctype
+
 ## begin gnulib module canonicalize-lgpl
 
 
@@ -116,6 +123,15 @@ EXTRA_libtar_a_SOURCES += chown.c fchown-stub.c
 
 ## end   gnulib module chown
 
+## begin gnulib module close
+
+
+EXTRA_DIST += close.c
+
+EXTRA_libtar_a_SOURCES += close.c
+
+## end   gnulib module close
+
 ## begin gnulib module close-stream
 
 
@@ -190,10 +206,35 @@ 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
+       rm -f $@-t $@
+       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
+         sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''NEXT_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \
+             -e 's|@''GNULIB_DIRFD''@|$(GNULIB_DIRFD)|g' \
+             -e 's|@''HAVE_DECL_DIRFD''@|$(HAVE_DECL_DIRFD)|g' \
+             -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
+             -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_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 dirfd
 
 
-EXTRA_DIST += dirfd.c dirfd.h
+EXTRA_DIST += dirfd.c
 
 EXTRA_libtar_a_SOURCES += dirfd.c
 
@@ -217,6 +258,33 @@ EXTRA_libtar_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.
+errno.h: errno.in.h
+       rm -f $@-t $@
+       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
+         sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+             -e 's|@''NEXT_ERRNO_H''@|$(NEXT_ERRNO_H)|g' \
+             -e 's|@''EMULTIHOP_HIDDEN''@|$(EMULTIHOP_HIDDEN)|g' \
+             -e 's|@''EMULTIHOP_VALUE''@|$(EMULTIHOP_VALUE)|g' \
+             -e 's|@''ENOLINK_HIDDEN''@|$(ENOLINK_HIDDEN)|g' \
+             -e 's|@''ENOLINK_VALUE''@|$(ENOLINK_VALUE)|g' \
+             -e 's|@''EOVERFLOW_HIDDEN''@|$(EOVERFLOW_HIDDEN)|g' \
+             -e 's|@''EOVERFLOW_VALUE''@|$(EOVERFLOW_VALUE)|g' \
+             < $(srcdir)/errno.in.h; \
+       } > $@-t
+       mv $@-t $@
+MOSTLYCLEANFILES += errno.h errno.h-t
+
+EXTRA_DIST += errno.in.h
+
+## end   gnulib module errno
+
 ## begin gnulib module error
 
 
@@ -246,27 +314,22 @@ EXTRA_libtar_a_SOURCES += exitfail.c
 
 ## begin gnulib module fchdir
 
-BUILT_SOURCES += $(DIRENT_H)
 
-# We need the following in order to create <dirent.h> when the system
-# doesn't have one that works with the given compiler.
-dirent.h: dirent.in.h
-       rm -f $@-t $@
-       { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-             -e 's|@''NEXT_DIRENT_H''@|$(NEXT_DIRENT_H)|g' \
-             -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
-             < $(srcdir)/dirent.in.h; \
-       } > $@-t
-       mv $@-t $@
-MOSTLYCLEANFILES += dirent.h dirent.h-t
-
-EXTRA_DIST += dirent.in.h fchdir.c
+EXTRA_DIST += fchdir.c
 
 EXTRA_libtar_a_SOURCES += fchdir.c
 
 ## end   gnulib module fchdir
 
+## begin gnulib module fclose
+
+
+EXTRA_DIST += fclose.c
+
+EXTRA_libtar_a_SOURCES += fclose.c
+
+## end   gnulib module fclose
+
 ## begin gnulib module fcntl
 
 BUILT_SOURCES += $(FCNTL_H)
@@ -276,7 +339,8 @@ BUILT_SOURCES += $(FCNTL_H)
 fcntl.h: fcntl.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+         sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_FCNTL_H''@|$(NEXT_FCNTL_H)|g' \
              -e 's|@''GNULIB_OPEN''@|$(GNULIB_OPEN)|g' \
              -e 's|@''REPLACE_OPEN''@|$(REPLACE_OPEN)|g' \
@@ -316,7 +380,8 @@ BUILT_SOURCES += $(FLOAT_H)
 float.h: float.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+         sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_FLOAT_H''@|$(NEXT_FLOAT_H)|g' \
              < $(srcdir)/float.in.h; \
        } > $@-t
@@ -358,7 +423,7 @@ EXTRA_libtar_a_SOURCES += fpending.c
 ## begin gnulib module fseeko
 
 
-EXTRA_DIST += fseeko.c
+EXTRA_DIST += fseeko.c stdio-impl.h
 
 EXTRA_libtar_a_SOURCES += fseeko.c
 
@@ -536,7 +601,8 @@ inttypes.h: inttypes.in.h
        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|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_INTTYPES_H''@|$(NEXT_INTTYPES_H)|g' \
              -e 's/@''PRI_MACROS_BROKEN''@/$(PRI_MACROS_BROKEN)/g' \
              -e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
@@ -651,7 +717,7 @@ EXTRA_libtar_a_SOURCES += lseek.c
 ## begin gnulib module lstat
 
 
-EXTRA_DIST += lstat.c lstat.h
+EXTRA_DIST += lstat.c
 
 EXTRA_libtar_a_SOURCES += lstat.c
 
@@ -775,6 +841,15 @@ EXTRA_libtar_a_SOURCES += obstack.c
 
 ## end   gnulib module obstack
 
+## begin gnulib module open
+
+
+EXTRA_DIST += open.c
+
+EXTRA_libtar_a_SOURCES += open.c
+
+## end   gnulib module open
+
 ## begin gnulib module openat
 
 
@@ -815,6 +890,15 @@ EXTRA_libtar_a_SOURCES += quotearg.c
 
 ## end   gnulib module quotearg
 
+## begin gnulib module rawmemchr
+
+
+EXTRA_DIST += rawmemchr.c rawmemchr.valgrind
+
+EXTRA_libtar_a_SOURCES += rawmemchr.c
+
+## end   gnulib module rawmemchr
+
 ## begin gnulib module readlink
 
 
@@ -953,7 +1037,8 @@ BUILT_SOURCES += $(STDARG_H)
 stdarg.h: stdarg.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+         sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_STDARG_H''@|$(NEXT_STDARG_H)|g' \
              < $(srcdir)/stdarg.in.h; \
        } > $@-t
@@ -992,7 +1077,8 @@ stdint.h: stdint.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
          sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
-             -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|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' \
@@ -1031,17 +1117,24 @@ BUILT_SOURCES += stdio.h
 stdio.h: stdio.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+         sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_STDIO_H''@|$(NEXT_STDIO_H)|g' \
+             -e 's|@''GNULIB_FPRINTF''@|$(GNULIB_FPRINTF)|g' \
              -e 's|@''GNULIB_FPRINTF_POSIX''@|$(GNULIB_FPRINTF_POSIX)|g' \
+             -e 's|@''GNULIB_PRINTF''@|$(GNULIB_PRINTF)|g' \
              -e 's|@''GNULIB_PRINTF_POSIX''@|$(GNULIB_PRINTF_POSIX)|g' \
              -e 's|@''GNULIB_SNPRINTF''@|$(GNULIB_SNPRINTF)|g' \
              -e 's|@''GNULIB_SPRINTF_POSIX''@|$(GNULIB_SPRINTF_POSIX)|g' \
+             -e 's|@''GNULIB_VFPRINTF''@|$(GNULIB_VFPRINTF)|g' \
              -e 's|@''GNULIB_VFPRINTF_POSIX''@|$(GNULIB_VFPRINTF_POSIX)|g' \
+             -e 's|@''GNULIB_VPRINTF''@|$(GNULIB_VPRINTF)|g' \
              -e 's|@''GNULIB_VPRINTF_POSIX''@|$(GNULIB_VPRINTF_POSIX)|g' \
              -e 's|@''GNULIB_VSNPRINTF''@|$(GNULIB_VSNPRINTF)|g' \
              -e 's|@''GNULIB_VSPRINTF_POSIX''@|$(GNULIB_VSPRINTF_POSIX)|g' \
              -e 's|@''GNULIB_VASPRINTF''@|$(GNULIB_VASPRINTF)|g' \
+             -e 's|@''GNULIB_OBSTACK_PRINTF''@|$(GNULIB_OBSTACK_PRINTF)|g' \
+             -e 's|@''GNULIB_OBSTACK_PRINTF_POSIX''@|$(GNULIB_OBSTACK_PRINTF_POSIX)|g' \
              -e 's|@''GNULIB_FOPEN''@|$(GNULIB_FOPEN)|g' \
              -e 's|@''GNULIB_FREOPEN''@|$(GNULIB_FREOPEN)|g' \
              -e 's|@''GNULIB_FSEEK''@|$(GNULIB_FSEEK)|g' \
@@ -1049,8 +1142,18 @@ stdio.h: stdio.in.h
              -e 's|@''GNULIB_FTELL''@|$(GNULIB_FTELL)|g' \
              -e 's|@''GNULIB_FTELLO''@|$(GNULIB_FTELLO)|g' \
              -e 's|@''GNULIB_FFLUSH''@|$(GNULIB_FFLUSH)|g' \
+             -e 's|@''GNULIB_FCLOSE''@|$(GNULIB_FCLOSE)|g' \
+             -e 's|@''GNULIB_FPUTC''@|$(GNULIB_FPUTC)|g' \
+             -e 's|@''GNULIB_PUTC''@|$(GNULIB_PUTC)|g' \
+             -e 's|@''GNULIB_PUTCHAR''@|$(GNULIB_PUTCHAR)|g' \
+             -e 's|@''GNULIB_FPUTS''@|$(GNULIB_FPUTS)|g' \
+             -e 's|@''GNULIB_PUTS''@|$(GNULIB_PUTS)|g' \
+             -e 's|@''GNULIB_FWRITE''@|$(GNULIB_FWRITE)|g' \
              -e 's|@''GNULIB_GETDELIM''@|$(GNULIB_GETDELIM)|g' \
              -e 's|@''GNULIB_GETLINE''@|$(GNULIB_GETLINE)|g' \
+             -e 's|@''GNULIB_PERROR''@|$(GNULIB_PERROR)|g' \
+             -e 's|@''GNULIB_STDIO_H_SIGPIPE''@|$(GNULIB_STDIO_H_SIGPIPE)|g' \
+             -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|$(REPLACE_STDIO_WRITE_FUNCS)|g' \
              -e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \
              -e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \
              -e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \
@@ -1063,6 +1166,8 @@ stdio.h: stdio.in.h
              -e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \
              -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \
              -e 's|@''REPLACE_VASPRINTF''@|$(REPLACE_VASPRINTF)|g' \
+             -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \
+             -e 's|@''REPLACE_OBSTACK_PRINTF''@|$(REPLACE_OBSTACK_PRINTF)|g' \
              -e 's|@''REPLACE_FOPEN''@|$(REPLACE_FOPEN)|g' \
              -e 's|@''REPLACE_FREOPEN''@|$(REPLACE_FREOPEN)|g' \
              -e 's|@''REPLACE_FSEEKO''@|$(REPLACE_FSEEKO)|g' \
@@ -1070,16 +1175,20 @@ stdio.h: stdio.in.h
              -e 's|@''REPLACE_FTELLO''@|$(REPLACE_FTELLO)|g' \
              -e 's|@''REPLACE_FTELL''@|$(REPLACE_FTELL)|g' \
              -e 's|@''REPLACE_FFLUSH''@|$(REPLACE_FFLUSH)|g' \
+             -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \
              -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \
              -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \
              -e 's|@''REPLACE_GETLINE''@|$(REPLACE_GETLINE)|g' \
+             -e 's|@''REPLACE_PERROR''@|$(REPLACE_PERROR)|g' \
              -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
              < $(srcdir)/stdio.in.h; \
        } > $@-t
        mv $@-t $@
 MOSTLYCLEANFILES += stdio.h stdio.h-t
 
-EXTRA_DIST += stdio.in.h
+EXTRA_DIST += stdio-write.c stdio.in.h
+
+EXTRA_libtar_a_SOURCES += stdio-write.c
 
 ## end   gnulib module stdio
 
@@ -1092,26 +1201,41 @@ BUILT_SOURCES += stdlib.h
 stdlib.h: stdlib.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+         sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_STDLIB_H''@|$(NEXT_STDLIB_H)|g' \
              -e 's|@''GNULIB_MALLOC_POSIX''@|$(GNULIB_MALLOC_POSIX)|g' \
              -e 's|@''GNULIB_REALLOC_POSIX''@|$(GNULIB_REALLOC_POSIX)|g' \
              -e 's|@''GNULIB_CALLOC_POSIX''@|$(GNULIB_CALLOC_POSIX)|g' \
+             -e 's|@''GNULIB_ATOLL''@|$(GNULIB_ATOLL)|g' \
+             -e 's|@''GNULIB_GETLOADAVG''@|$(GNULIB_GETLOADAVG)|g' \
              -e 's|@''GNULIB_GETSUBOPT''@|$(GNULIB_GETSUBOPT)|g' \
              -e 's|@''GNULIB_MKDTEMP''@|$(GNULIB_MKDTEMP)|g' \
              -e 's|@''GNULIB_MKSTEMP''@|$(GNULIB_MKSTEMP)|g' \
              -e 's|@''GNULIB_PUTENV''@|$(GNULIB_PUTENV)|g' \
+             -e 's|@''GNULIB_RANDOM_R''@|$(GNULIB_RANDOM_R)|g' \
+             -e 's|@''GNULIB_RPMATCH''@|$(GNULIB_RPMATCH)|g' \
              -e 's|@''GNULIB_SETENV''@|$(GNULIB_SETENV)|g' \
              -e 's|@''GNULIB_STRTOD''@|$(GNULIB_STRTOD)|g' \
+             -e 's|@''GNULIB_STRTOLL''@|$(GNULIB_STRTOLL)|g' \
+             -e 's|@''GNULIB_STRTOULL''@|$(GNULIB_STRTOULL)|g' \
              -e 's|@''GNULIB_UNSETENV''@|$(GNULIB_UNSETENV)|g' \
+             -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \
              -e 's|@''HAVE_CALLOC_POSIX''@|$(HAVE_CALLOC_POSIX)|g' \
              -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
              -e 's|@''HAVE_MALLOC_POSIX''@|$(HAVE_MALLOC_POSIX)|g' \
              -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
              -e 's|@''HAVE_REALLOC_POSIX''@|$(HAVE_REALLOC_POSIX)|g' \
+             -e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
+             -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
              -e 's|@''HAVE_SETENV''@|$(HAVE_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_UNSETENV''@|$(HAVE_UNSETENV)|g' \
+             -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
              -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
              -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
              -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
@@ -1147,7 +1271,7 @@ EXTRA_libtar_a_SOURCES += strcasecmp.c strncasecmp.c
 ## begin gnulib module strchrnul
 
 
-EXTRA_DIST += strchrnul.c
+EXTRA_DIST += strchrnul.c strchrnul.valgrind
 
 EXTRA_libtar_a_SOURCES += strchrnul.c
 
@@ -1187,7 +1311,8 @@ BUILT_SOURCES += string.h
 string.h: string.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+         sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_STRING_H''@|$(NEXT_STRING_H)|g' \
              -e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \
              -e 's|@''GNULIB_MBSNLEN''@|$(GNULIB_MBSNLEN)|g' \
@@ -1206,6 +1331,7 @@ string.h: string.in.h
              -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' \
@@ -1219,9 +1345,11 @@ string.h: string.in.h
              -e 's|@''GNULIB_STRTOK_R''@|$(GNULIB_STRTOK_R)|g' \
              -e 's|@''GNULIB_STRERROR''@|$(GNULIB_STRERROR)|g' \
              -e 's|@''GNULIB_STRSIGNAL''@|$(GNULIB_STRSIGNAL)|g' \
+             -e 's|@''GNULIB_STRVERSCMP''@|$(GNULIB_STRVERSCMP)|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' \
@@ -1235,8 +1363,10 @@ string.h: string.in.h
              -e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \
              -e 's|@''HAVE_DECL_STRERROR''@|$(HAVE_DECL_STRERROR)|g' \
              -e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \
+             -e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \
              -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
              -e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
+             -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
              -e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
              -e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
              -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
@@ -1259,7 +1389,8 @@ BUILT_SOURCES += strings.h
 strings.h: strings.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+         sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_STRINGS_H''@|$(NEXT_STRINGS_H)|g' \
              -e 's|@''HAVE_STRCASECMP''@|$(HAVE_STRCASECMP)|g' \
              -e 's|@''HAVE_DECL_STRNCASECMP''@|$(HAVE_DECL_STRNCASECMP)|g' \
@@ -1361,11 +1492,16 @@ sys/stat.h: sys_stat.in.h
        @MKDIR_P@ sys
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+         sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_SYS_STAT_H''@|$(NEXT_SYS_STAT_H)|g' \
-             -e 's|@''HAVE_IO_H''@|$(HAVE_IO_H)|g' \
+             -e 's|@''GNULIB_LCHMOD''@|$(GNULIB_LCHMOD)|g' \
+             -e 's|@''GNULIB_LSTAT''@|$(GNULIB_LSTAT)|g' \
+             -e 's|@''HAVE_LCHMOD''@|$(HAVE_LCHMOD)|g' \
              -e 's|@''HAVE_LSTAT''@|$(HAVE_LSTAT)|g' \
-             -e 's|@''HAVE_DECL_MKDIR''@|$(HAVE_DECL_MKDIR)|g' \
+             -e 's|@''REPLACE_LSTAT''@|$(REPLACE_LSTAT)|g' \
+             -e 's|@''REPLACE_MKDIR''@|$(REPLACE_MKDIR)|g' \
+             -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
              < $(srcdir)/sys_stat.in.h; \
        } > $@-t
        mv $@-t $@
@@ -1387,7 +1523,8 @@ sys/time.h: sys_time.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
          sed -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \
-             -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_SYS_TIME_H''@|$(NEXT_SYS_TIME_H)|g' \
              -e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \
              -e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \
@@ -1409,7 +1546,8 @@ BUILT_SOURCES += $(SYSEXITS_H)
 sysexits.h: sysexits.in.h
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
          sed -e 's|@''HAVE_SYSEXITS_H''@|$(HAVE_SYSEXITS_H)|g' \
-             -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_SYSEXITS_H''@|$(NEXT_SYSEXITS_H)|g' \
              < $(srcdir)/sysexits.in.h; \
        } > $@-t
@@ -1438,7 +1576,8 @@ BUILT_SOURCES += time.h
 time.h: time.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
-         sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+         sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@NEXT_TIME_H''@|$(NEXT_TIME_H)|g' \
              -e 's|@REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
              -e 's|@REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
@@ -1481,23 +1620,39 @@ unistd.h: unistd.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
          sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
-             -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
              -e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \
+             -e 's|@''GNULIB_CLOSE''@|$(GNULIB_CLOSE)|g' \
              -e 's|@''GNULIB_DUP2''@|$(GNULIB_DUP2)|g' \
              -e 's|@''GNULIB_ENVIRON''@|$(GNULIB_ENVIRON)|g' \
+             -e 's|@''GNULIB_EUIDACCESS''@|$(GNULIB_EUIDACCESS)|g' \
              -e 's|@''GNULIB_FCHDIR''@|$(GNULIB_FCHDIR)|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_GETHOSTNAME''@|$(GNULIB_GETHOSTNAME)|g' \
              -e 's|@''GNULIB_GETLOGIN_R''@|$(GNULIB_GETLOGIN_R)|g' \
              -e 's|@''GNULIB_GETPAGESIZE''@|$(GNULIB_GETPAGESIZE)|g' \
+             -e 's|@''GNULIB_GETUSERSHELL''@|$(GNULIB_GETUSERSHELL)|g' \
              -e 's|@''GNULIB_LCHOWN''@|$(GNULIB_LCHOWN)|g' \
              -e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \
              -e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \
              -e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \
+             -e 's|@''GNULIB_UNISTD_H_SIGPIPE''@|$(GNULIB_UNISTD_H_SIGPIPE)|g' \
+             -e 's|@''GNULIB_WRITE''@|$(GNULIB_WRITE)|g' \
              -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \
+             -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \
+             -e 's|@''HAVE_FSYNC''@|$(HAVE_FSYNC)|g' \
              -e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
+             -e 's|@''HAVE_GETDOMAINNAME''@|$(HAVE_GETDOMAINNAME)|g' \
+             -e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \
+             -e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
              -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
+             -e 's|@''HAVE_GETUSERSHELL''@|$(HAVE_GETUSERSHELL)|g' \
              -e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \
              -e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
              -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
@@ -1505,11 +1660,15 @@ unistd.h: unistd.in.h
              -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
              -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
              -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
+             -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \
              -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
              -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
              -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
              -e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
              -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \
+             -e 's|@''REPLACE_WRITE''@|$(REPLACE_WRITE)|g' \
+             -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|$(UNISTD_H_HAVE_WINSOCK2_H)|g' \
+             -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
              < $(srcdir)/unistd.in.h; \
        } > $@-t
        mv $@-t $@
@@ -1638,10 +1797,12 @@ BUILT_SOURCES += $(WCHAR_H)
 wchar.h: wchar.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
-         sed -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+         sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
              -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
              -e 's|@''GNULIB_WCWIDTH''@|$(GNULIB_WCWIDTH)|g' \
+             -e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \
              -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
              -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
              -e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
@@ -1664,10 +1825,12 @@ wctype.h: wctype.in.h
        rm -f $@-t $@
        { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
          sed -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \
-             -e 's/@''INCLUDE_NEXT''@/$(INCLUDE_NEXT)/g' \
+             -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+             -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
              -e 's|@''NEXT_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \
              -e 's/@''HAVE_ISWCNTRL''@/$(HAVE_ISWCNTRL)/g' \
              -e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \
+             -e 's/@''REPLACE_ISWCNTRL''@/$(REPLACE_ISWCNTRL)/g' \
              < $(srcdir)/wctype.in.h; \
        } > $@-t
        mv $@-t $@
@@ -1686,6 +1849,15 @@ EXTRA_libtar_a_SOURCES += wcwidth.c
 
 ## end   gnulib module wcwidth
 
+## begin gnulib module write
+
+
+EXTRA_DIST += write.c
+
+EXTRA_libtar_a_SOURCES += write.c
+
+## end   gnulib module write
+
 ## begin gnulib module xalloc
 
 
index aa5820fd5af33a0af04e82f646b5f62107d53447..a103caf587f1a4966888bc6aed4a983d34b4b194 100644 (file)
 
 #include "intprops.h"
 
-char *offtostr (off_t, char *);
-char *imaxtostr (intmax_t, char *);
-char *umaxtostr (uintmax_t, char *);
-char *uinttostr (unsigned int, char *);
+#ifndef __GNUC_PREREQ
+# if defined __GNUC__ && defined __GNUC_MINOR__
+#  define __GNUC_PREREQ(maj, min) \
+         ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
+# else
+#  define __GNUC_PREREQ(maj, min) 0
+# endif
+#endif
+
+#if __GNUC_PREREQ (3,4)
+# undef __attribute_warn_unused_result__
+# define __attribute_warn_unused_result__ \
+   __attribute__ ((__warn_unused_result__))
+#else
+# define __attribute_warn_unused_result__ /* empty */
+#endif
+
+char *offtostr (off_t, char *) __attribute_warn_unused_result__;
+char *imaxtostr (intmax_t, char *) __attribute_warn_unused_result__;
+char *umaxtostr (uintmax_t, char *) __attribute_warn_unused_result__;
+char *uinttostr (unsigned int, char *) __attribute_warn_unused_result__;
index 8a24850562eb82c03da20d9b2350daf4073e69ec..bd9d0d2475833000797bad8bc4d2b6c32776f86e 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2007 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2008 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Derek Price.
    This file is part of gnulib.
 
@@ -26,6 +26,9 @@
    The include_next requires a split double-inclusion guard.  */
 #if ! defined INTTYPES_H || defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
 # if @HAVE_INTTYPES_H@
+#  if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#  endif
 #  @INCLUDE_NEXT@ @NEXT_INTTYPES_H@
 # endif
 #endif
index 9785370734adb488c6dae1c22c117a18fd8de295..f49d75b92927531b60d87864756e6b1ef52e9b3e 100644 (file)
@@ -2,7 +2,7 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Determine a canonical name for the current locale's character encoding.
 
-   Copyright (C) 2000-2006 Free Software Foundation, Inc.
+   Copyright (C) 2000-2006, 2008 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -36,7 +36,9 @@
 
 #if defined __EMX__
 /* Assume EMX program runs on OS/2, even if compiled under DOS.  */
-# define OS2
+# ifndef OS2
+#  define OS2
+# endif
 #endif
 
 #if !defined WIN32_NATIVE
index 9dcb4cdc5bfce3d0b05c15e6a0e83dde19b5c195..3e07270801a9a019c747ca8c83d36136ee0116ca 100644 (file)
@@ -1,7 +1,6 @@
 /* Work around a bug of lstat on some systems
 
-   Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free
-   Software Foundation, Inc.
+   Copyright (C) 1997-1999, 2000-2006, 2008 Free Software Foundation, Inc.
 
    This 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>
 
-/* The specification of these functions is in sys_stat.h.  But we cannot
-   include this include file here, because on some systems, a
-   "#define lstat lstat64" is being used, and sys_stat.h deletes this
-   definition.  */
-
+/* Get the original definition of open.  It might be defined as a macro.  */
+#define __need_system_sys_stat_h
 #include <sys/types.h>
 #include <sys/stat.h>
+#undef __need_system_sys_stat_h
+
+static inline int
+orig_lstat (const char *filename, struct stat *buf)
+{
+  return lstat (filename, buf);
+}
+
+/* Specification.  */
+#include <sys/stat.h>
+
 #include <string.h>
 #include <errno.h>
 
@@ -47,7 +54,7 @@ int
 rpl_lstat (const char *file, struct stat *sbuf)
 {
   size_t len;
-  int lstat_result = lstat (file, sbuf);
+  int lstat_result = orig_lstat (file, sbuf);
 
   if (lstat_result != 0 || !S_ISLNK (sbuf->st_mode))
     return lstat_result;
diff --git a/lib/lstat.h b/lib/lstat.h
deleted file mode 100644 (file)
index 63b21c8..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Retrieving information about files.
-   Copyright (C) 2005 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 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/>.  */
-
-#include <sys/stat.h>
-
-#if !LSTAT_FOLLOWS_SLASHED_SYMLINK
-extern int rpl_lstat (const char *name, struct stat *buf);
-# undef lstat
-# define lstat rpl_lstat
-#endif
index b47eaef55f133cfe8763ac410033b447ccd28f23..2253d2d651cd2b97993309f2cb00428041082c21 100644 (file)
@@ -1,5 +1,5 @@
-/* Copyright (C) 1991, 1993, 1996, 1997, 1999, 2000, 2003, 2004, 2006 Free
-   Software Foundation, Inc.
+/* Copyright (C) 1991, 1993, 1996, 1997, 1999, 2000, 2003, 2004, 2006, 2008
+   Free Software Foundation, Inc.
 
    Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
    with help from Dan Sahlin (dan@sics.se) and
@@ -45,155 +45,127 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 # define BP_SYM(sym) sym
 #endif
 
-#undef memchr
 #undef __memchr
+#ifdef _LIBC
+# undef memchr
+#endif
+
+#ifndef weak_alias
+# define __memchr memchr
+#endif
 
 /* Search no more than N bytes of S for C.  */
 void *
 __memchr (void const *s, int c_in, size_t n)
 {
+  /* On 32-bit hardware, choosing longword to be a 32-bit unsigned
+     long instead of a 64-bit uintmax_t tends to give better
+     performance.  On 64-bit hardware, unsigned long is generally 64
+     bits already.  Change this typedef to experiment with
+     performance.  */
+  typedef unsigned long int longword;
+
   const unsigned char *char_ptr;
-  const unsigned long int *longword_ptr;
-  unsigned long int longword, magic_bits, charmask;
+  const longword *longword_ptr;
+  longword repeated_one;
+  longword repeated_c;
   unsigned reg_char c;
-  int i;
 
   c = (unsigned char) c_in;
 
-  /* Handle the first few characters by reading one character at a time.
+  /* Handle the first few bytes by reading one byte at a time.
      Do this until CHAR_PTR is aligned on a longword boundary.  */
   for (char_ptr = (const unsigned char *) s;
-       n > 0 && (size_t) char_ptr % sizeof longword != 0;
+       n > 0 && (size_t) char_ptr % sizeof (longword) != 0;
        --n, ++char_ptr)
     if (*char_ptr == c)
       return (void *) char_ptr;
 
+  longword_ptr = (const longword *) char_ptr;
+
   /* All these elucidatory comments refer to 4-byte longwords,
      but the theory applies equally well to any size longwords.  */
 
-  longword_ptr = (const unsigned long int *) char_ptr;
-
-  /* Bits 31, 24, 16, and 8 of this number are zero.  Call these bits
-     the "holes."  Note that there is a hole just to the left of
-     each byte, with an extra at the end:
-
-     bits:  01111110 11111110 11111110 11111111
-     bytes: AAAAAAAA BBBBBBBB CCCCCCCC DDDDDDDD
-
-     The 1-bits make sure that carries propagate to the next 0-bit.
-     The 0-bits provide holes for carries to fall into.  */
-
-  /* Set MAGIC_BITS to be this pattern of 1 and 0 bits.
-     Set CHARMASK to be a longword, each of whose bytes is C.  */
-
-  magic_bits = 0xfefefefe;
-  charmask = c | (c << 8);
-  charmask |= charmask << 16;
-#if 0xffffffffU < ULONG_MAX
-  magic_bits |= magic_bits << 32;
-  charmask |= charmask << 32;
-  if (8 < sizeof longword)
-    for (i = 64; i < sizeof longword * 8; i *= 2)
-      {
-       magic_bits |= magic_bits << i;
-       charmask |= charmask << i;
-      }
-#endif
-  magic_bits = (ULONG_MAX >> 1) & (magic_bits | 1);
-
-  /* Instead of the traditional loop which tests each character,
-     we will test a longword at a time.  The tricky part is testing
-     if *any of the four* bytes in the longword in question are zero.  */
-  while (n >= sizeof longword)
+  /* Compute auxiliary longword values:
+     repeated_one is a value which has a 1 in every byte.
+     repeated_c has c in every byte.  */
+  repeated_one = 0x01010101;
+  repeated_c = c | (c << 8);
+  repeated_c |= repeated_c << 16;
+  if (0xffffffffU < (longword) -1)
     {
-      /* We tentatively exit the loop if adding MAGIC_BITS to
-        LONGWORD fails to change any of the hole bits of LONGWORD.
-
-        1) Is this safe?  Will it catch all the zero bytes?
-        Suppose there is a byte with all zeros.  Any carry bits
-        propagating from its left will fall into the hole at its
-        least significant bit and stop.  Since there will be no
-        carry from its most significant bit, the LSB of the
-        byte to the left will be unchanged, and the zero will be
-        detected.
-
-        2) Is this worthwhile?  Will it ignore everything except
-        zero bytes?  Suppose every byte of LONGWORD has a bit set
-        somewhere.  There will be a carry into bit 8.  If bit 8
-        is set, this will carry into bit 16.  If bit 8 is clear,
-        one of bits 9-15 must be set, so there will be a carry
-        into bit 16.  Similarly, there will be a carry into bit
-        24.  If one of bits 24-30 is set, there will be a carry
-        into bit 31, so all of the hole bits will be changed.
-
-        The one misfire occurs when bits 24-30 are clear and bit
-        31 is set; in this case, the hole at bit 31 is not
-        changed.  If we had access to the processor carry flag,
-        we could close this loophole by putting the fourth hole
-        at bit 32!
-
-        So it ignores everything except 128's, when they're aligned
-        properly.
-
-        3) But wait!  Aren't we looking for C, not zero?
-        Good point.  So what we do is XOR LONGWORD with a longword,
-        each of whose bytes is C.  This turns each byte that is C
-        into a zero.  */
-
-      longword = *longword_ptr++ ^ charmask;
-
-      /* Add MAGIC_BITS to LONGWORD.  */
-      if ((((longword + magic_bits)
-
-           /* Set those bits that were unchanged by the addition.  */
-           ^ ~longword)
-
-          /* Look at only the hole bits.  If any of the hole bits
-             are unchanged, most likely one of the bytes was a
-             zero.  */
-          & ~magic_bits) != 0)
+      repeated_one |= repeated_one << 31 << 1;
+      repeated_c |= repeated_c << 31 << 1;
+      if (8 < sizeof (longword))
        {
-         /* Which of the bytes was C?  If none of them were, it was
-            a misfire; continue the search.  */
-
-         const unsigned char *cp = (const unsigned char *) (longword_ptr - 1);
-
-         if (cp[0] == c)
-           return (void *) cp;
-         if (cp[1] == c)
-           return (void *) &cp[1];
-         if (cp[2] == c)
-           return (void *) &cp[2];
-         if (cp[3] == c)
-           return (void *) &cp[3];
-         if (4 < sizeof longword && cp[4] == c)
-           return (void *) &cp[4];
-         if (5 < sizeof longword && cp[5] == c)
-           return (void *) &cp[5];
-         if (6 < sizeof longword && cp[6] == c)
-           return (void *) &cp[6];
-         if (7 < sizeof longword && cp[7] == c)
-           return (void *) &cp[7];
-         if (8 < sizeof longword)
-           for (i = 8; i < sizeof longword; i++)
-             if (cp[i] == c)
-               return (void *) &cp[i];
+         size_t i;
+
+         for (i = 64; i < sizeof (longword) * 8; i *= 2)
+           {
+             repeated_one |= repeated_one << i;
+             repeated_c |= repeated_c << i;
+           }
        }
+    }
 
-      n -= sizeof longword;
+  /* Instead of the traditional loop which tests each byte, we will test a
+     longword at a time.  The tricky part is testing if *any of the four*
+     bytes in the longword in question are equal to c.  We first use an xor
+     with repeated_c.  This reduces the task to testing whether *any of the
+     four* bytes in longword1 is zero.
+
+     We compute tmp =
+       ((longword1 - repeated_one) & ~longword1) & (repeated_one << 7).
+     That is, we perform the following operations:
+       1. Subtract repeated_one.
+       2. & ~longword1.
+       3. & a mask consisting of 0x80 in every byte.
+     Consider what happens in each byte:
+       - If a byte of longword1 is zero, step 1 and 2 transform it into 0xff,
+         and step 3 transforms it into 0x80.  A carry can also be propagated
+         to more significant bytes.
+       - If a byte of longword1 is nonzero, let its lowest 1 bit be at
+         position k (0 <= k <= 7); so the lowest k bits are 0.  After step 1,
+         the byte ends in a single bit of value 0 and k bits of value 1.
+         After step 2, the result is just k bits of value 1: 2^k - 1.  After
+         step 3, the result is 0.  And no carry is produced.
+     So, if longword1 has only non-zero bytes, tmp is zero.
+     Whereas if longword1 has a zero byte, call j the position of the least
+     significant zero byte.  Then the result has a zero at positions 0, ...,
+     j-1 and a 0x80 at position j.  We cannot predict the result at the more
+     significant bytes (positions j+1..3), but it does not matter since we
+     already have a non-zero bit at position 8*j+7.
+
+     So, the test whether any byte in longword1 is zero is equivalent to
+     testing whether tmp is nonzero.  */
+
+  while (n >= sizeof (longword))
+    {
+      longword longword1 = *longword_ptr ^ repeated_c;
+
+      if ((((longword1 - repeated_one) & ~longword1)
+          & (repeated_one << 7)) != 0)
+       break;
+      longword_ptr++;
+      n -= sizeof (longword);
     }
 
   char_ptr = (const unsigned char *) longword_ptr;
 
-  while (n-- > 0)
+  /* At this point, we know that either n < sizeof (longword), or one of the
+     sizeof (longword) bytes starting at char_ptr is == c.  On little-endian
+     machines, we could determine the first such byte without any further
+     memory accesses, just by looking at the tmp result from the last loop
+     iteration.  But this does not work on big-endian machines.  Choose code
+     that works in both cases.  */
+
+  for (; n > 0; --n, ++char_ptr)
     {
       if (*char_ptr == c)
        return (void *) char_ptr;
-      else
-       ++char_ptr;
     }
 
-  return 0;
+  return NULL;
 }
 #ifdef weak_alias
 weak_alias (__memchr, BP_SYM (memchr))
index 50b27c0291b374bee42b48d3348fde86bfc29965..da93ca0ba52a2cd88ce0cf225a832ef14bf8c606 100644 (file)
@@ -1,7 +1,7 @@
 /* memrchr -- find the last occurrence of a byte in a memory block
 
    Copyright (C) 1991, 1993, 1996, 1997, 1999, 2000, 2003, 2004, 2005,
-   2006, 2007 Free Software Foundation, Inc.
+   2006, 2007, 2008 Free Software Foundation, Inc.
 
    Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
    with help from Dan Sahlin (dan@sics.se) and
@@ -33,7 +33,9 @@
 #include <limits.h>
 
 #undef __memrchr
-#undef memrchr
+#ifdef _LIBC
+# undef memrchr
+#endif
 
 #ifndef weak_alias
 # define __memrchr memrchr
 void *
 __memrchr (void const *s, int c_in, size_t n)
 {
+  /* On 32-bit hardware, choosing longword to be a 32-bit unsigned
+     long instead of a 64-bit uintmax_t tends to give better
+     performance.  On 64-bit hardware, unsigned long is generally 64
+     bits already.  Change this typedef to experiment with
+     performance.  */
+  typedef unsigned long int longword;
+
   const unsigned char *char_ptr;
-  const unsigned long int *longword_ptr;
-  unsigned long int longword, magic_bits, charmask;
+  const longword *longword_ptr;
+  longword repeated_one;
+  longword repeated_c;
   unsigned reg_char c;
-  int i;
 
   c = (unsigned char) c_in;
 
-  /* Handle the last few characters by reading one character at a time.
+  /* Handle the last few bytes by reading one byte at a time.
      Do this until CHAR_PTR is aligned on a longword boundary.  */
   for (char_ptr = (const unsigned char *) s + n;
-       n > 0 && (size_t) char_ptr % sizeof longword != 0;
+       n > 0 && (size_t) char_ptr % sizeof (longword) != 0;
        --n)
     if (*--char_ptr == c)
       return (void *) char_ptr;
 
+  longword_ptr = (const longword *) char_ptr;
+
   /* All these elucidatory comments refer to 4-byte longwords,
      but the theory applies equally well to any size longwords.  */
 
-  longword_ptr = (const unsigned long int *) char_ptr;
-
-  /* Bits 31, 24, 16, and 8 of this number are zero.  Call these bits
-     the "holes."  Note that there is a hole just to the left of
-     each byte, with an extra at the end:
-
-     bits:  01111110 11111110 11111110 11111111
-     bytes: AAAAAAAA BBBBBBBB CCCCCCCC DDDDDDDD
-
-     The 1-bits make sure that carries propagate to the next 0-bit.
-     The 0-bits provide holes for carries to fall into.  */
-
-  /* Set MAGIC_BITS to be this pattern of 1 and 0 bits.
-     Set CHARMASK to be a longword, each of whose bytes is C.  */
-
-  magic_bits = 0xfefefefe;
-  charmask = c | (c << 8);
-  charmask |= charmask << 16;
-#if 0xffffffffU < ULONG_MAX
-  magic_bits |= magic_bits << 32;
-  charmask |= charmask << 32;
-  if (8 < sizeof longword)
-    for (i = 64; i < sizeof longword * 8; i *= 2)
-      {
-       magic_bits |= magic_bits << i;
-       charmask |= charmask << i;
-      }
-#endif
-  magic_bits = (ULONG_MAX >> 1) & (magic_bits | 1);
-
-  /* Instead of the traditional loop which tests each character,
-     we will test a longword at a time.  The tricky part is testing
-     if *any of the four* bytes in the longword in question are zero.  */
-  while (n >= sizeof longword)
+  /* Compute auxiliary longword values:
+     repeated_one is a value which has a 1 in every byte.
+     repeated_c has c in every byte.  */
+  repeated_one = 0x01010101;
+  repeated_c = c | (c << 8);
+  repeated_c |= repeated_c << 16;
+  if (0xffffffffU < (longword) -1)
     {
-      /* We tentatively exit the loop if adding MAGIC_BITS to
-        LONGWORD fails to change any of the hole bits of LONGWORD.
-
-        1) Is this safe?  Will it catch all the zero bytes?
-        Suppose there is a byte with all zeros.  Any carry bits
-        propagating from its left will fall into the hole at its
-        least significant bit and stop.  Since there will be no
-        carry from its most significant bit, the LSB of the
-        byte to the left will be unchanged, and the zero will be
-        detected.
-
-        2) Is this worthwhile?  Will it ignore everything except
-        zero bytes?  Suppose every byte of LONGWORD has a bit set
-        somewhere.  There will be a carry into bit 8.  If bit 8
-        is set, this will carry into bit 16.  If bit 8 is clear,
-        one of bits 9-15 must be set, so there will be a carry
-        into bit 16.  Similarly, there will be a carry into bit
-        24.  If one of bits 24-30 is set, there will be a carry
-        into bit 31, so all of the hole bits will be changed.
-
-        The one misfire occurs when bits 24-30 are clear and bit
-        31 is set; in this case, the hole at bit 31 is not
-        changed.  If we had access to the processor carry flag,
-        we could close this loophole by putting the fourth hole
-        at bit 32!
-
-        So it ignores everything except 128's, when they're aligned
-        properly.
-
-        3) But wait!  Aren't we looking for C, not zero?
-        Good point.  So what we do is XOR LONGWORD with a longword,
-        each of whose bytes is C.  This turns each byte that is C
-        into a zero.  */
-
-      longword = *--longword_ptr ^ charmask;
-
-      /* Add MAGIC_BITS to LONGWORD.  */
-      if ((((longword + magic_bits)
-
-           /* Set those bits that were unchanged by the addition.  */
-           ^ ~longword)
-
-          /* Look at only the hole bits.  If any of the hole bits
-             are unchanged, most likely one of the bytes was a
-             zero.  */
-          & ~magic_bits) != 0)
+      repeated_one |= repeated_one << 31 << 1;
+      repeated_c |= repeated_c << 31 << 1;
+      if (8 < sizeof (longword))
        {
-         /* Which of the bytes was C?  If none of them were, it was
-            a misfire; continue the search.  */
-
-         const unsigned char *cp = (const unsigned char *) longword_ptr;
-
-         if (8 < sizeof longword)
-           for (i = sizeof longword - 1; 8 <= i; i--)
-             if (cp[i] == c)
-               return (void *) &cp[i];
-         if (7 < sizeof longword && cp[7] == c)
-           return (void *) &cp[7];
-         if (6 < sizeof longword && cp[6] == c)
-           return (void *) &cp[6];
-         if (5 < sizeof longword && cp[5] == c)
-           return (void *) &cp[5];
-         if (4 < sizeof longword && cp[4] == c)
-           return (void *) &cp[4];
-         if (cp[3] == c)
-           return (void *) &cp[3];
-         if (cp[2] == c)
-           return (void *) &cp[2];
-         if (cp[1] == c)
-           return (void *) &cp[1];
-         if (cp[0] == c)
-           return (void *) cp;
+         size_t i;
+
+         for (i = 64; i < sizeof (longword) * 8; i *= 2)
+           {
+             repeated_one |= repeated_one << i;
+             repeated_c |= repeated_c << i;
+           }
        }
+    }
+
+  /* Instead of the traditional loop which tests each byte, we will test a
+     longword at a time.  The tricky part is testing if *any of the four*
+     bytes in the longword in question are equal to c.  We first use an xor
+     with repeated_c.  This reduces the task to testing whether *any of the
+     four* bytes in longword1 is zero.
+
+     We compute tmp =
+       ((longword1 - repeated_one) & ~longword1) & (repeated_one << 7).
+     That is, we perform the following operations:
+       1. Subtract repeated_one.
+       2. & ~longword1.
+       3. & a mask consisting of 0x80 in every byte.
+     Consider what happens in each byte:
+       - If a byte of longword1 is zero, step 1 and 2 transform it into 0xff,
+         and step 3 transforms it into 0x80.  A carry can also be propagated
+         to more significant bytes.
+       - If a byte of longword1 is nonzero, let its lowest 1 bit be at
+         position k (0 <= k <= 7); so the lowest k bits are 0.  After step 1,
+         the byte ends in a single bit of value 0 and k bits of value 1.
+         After step 2, the result is just k bits of value 1: 2^k - 1.  After
+         step 3, the result is 0.  And no carry is produced.
+     So, if longword1 has only non-zero bytes, tmp is zero.
+     Whereas if longword1 has a zero byte, call j the position of the least
+     significant zero byte.  Then the result has a zero at positions 0, ...,
+     j-1 and a 0x80 at position j.  We cannot predict the result at the more
+     significant bytes (positions j+1..3), but it does not matter since we
+     already have a non-zero bit at position 8*j+7.
+
+     So, the test whether any byte in longword1 is zero is equivalent to
+     testing whether tmp is nonzero.  */
+
+  while (n >= sizeof (longword))
+    {
+      longword longword1 = *--longword_ptr ^ repeated_c;
 
-      n -= sizeof longword;
+      if ((((longword1 - repeated_one) & ~longword1)
+          & (repeated_one << 7)) != 0)
+       {
+         longword_ptr++;
+         break;
+       }
+      n -= sizeof (longword);
     }
 
   char_ptr = (const unsigned char *) longword_ptr;
 
+  /* At this point, we know that either n < sizeof (longword), or one of the
+     sizeof (longword) bytes starting at char_ptr is == c.  On little-endian
+     machines, we could determine the first such byte without any further
+     memory accesses, just by looking at the tmp result from the last loop
+     iteration.  But this does not work on big-endian machines.  Choose code
+     that works in both cases.  */
+
   while (n-- > 0)
     {
       if (*--char_ptr == c)
        return (void *) char_ptr;
     }
 
-  return 0;
+  return NULL;
 }
 #ifdef weak_alias
 weak_alias (__memrchr, memrchr)
index 045f7d2d5251735df3437401213b76666fbb842d..776a48af3dbd44dae70f9d0d6f302d6fbf15ce65 100644 (file)
@@ -292,7 +292,9 @@ __mktime_internal (struct tm *tp,
   int mday = tp->tm_mday;
   int mon = tp->tm_mon;
   int year_requested = tp->tm_year;
-  int isdst = tp->tm_isdst;
+  /* Normalize the value.  */
+  int isdst = ((tp->tm_isdst >> (8 * sizeof (tp->tm_isdst) - 1))
+              | (tp->tm_isdst != 0));
 
   /* 1 if the previous probe was DST.  */
   int dst2;
index ce493d5e3151c9c88f9a59877961a53f61465ca0..15bf6a65d01dda9e563ffc7aed925b54ac7ce0ef 100644 (file)
@@ -1,6 +1,6 @@
 /* Invoke open, but avoid some glitches.
 
-   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2008 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -38,9 +38,10 @@ open_safer (char const *file, int flags, ...)
       /* Assume mode_t promotes to int if and only if it is smaller.
         This assumption isn't guaranteed by the C standard, but we
         don't know of any real-world counterexamples.  */
-      mode = (sizeof (mode_t) < sizeof (int)
-             ? va_arg (ap, int)
-             : va_arg (ap, mode_t));
+      if (sizeof (mode_t) < sizeof (int))
+       mode = va_arg (ap, int);
+      else
+       mode = va_arg (ap, mode_t);
 
       va_end (ap);
     }
diff --git a/lib/open.c b/lib/open.c
new file mode 100644 (file)
index 0000000..13af274
--- /dev/null
@@ -0,0 +1,140 @@
+/* Open a descriptor to a file.
+   Copyright (C) 2007-2008 Free Software Foundation, Inc.
+
+   This 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 Bruno Haible <bruno@clisp.org>, 2007.  */
+
+#include <config.h>
+
+/* Get the original definition of open.  It might be defined as a macro.  */
+#define __need_system_fcntl_h
+#include <fcntl.h>
+#undef __need_system_fcntl_h
+#include <sys/types.h>
+
+static inline int
+orig_open (const char *filename, int flags, mode_t mode)
+{
+  return open (filename, flags, mode);
+}
+
+/* Specification.  */
+#include <fcntl.h>
+
+#include <errno.h>
+#include <stdarg.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+int
+open (const char *filename, int flags, ...)
+{
+  mode_t mode;
+  int fd;
+
+  mode = 0;
+  if (flags & O_CREAT)
+    {
+      va_list arg;
+      va_start (arg, flags);
+
+      /* If mode_t is narrower than int, use the promoted type (int),
+        not mode_t.  Use sizeof to guess whether mode_t is narrower;
+        we don't know of any practical counterexamples.  */
+      mode = (sizeof (mode_t) < sizeof (int)
+             ? va_arg (arg, int)
+             : va_arg (arg, mode_t));
+
+      va_end (arg);
+    }
+
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+  if (strcmp (filename, "/dev/null") == 0)
+    filename = "NUL";
+#endif
+
+#if OPEN_TRAILING_SLASH_BUG
+  /* If the filename ends in a slash and one of O_CREAT, O_WRONLY, O_RDWR
+     is specified, then fail.
+     Rationale: POSIX <http://www.opengroup.org/susv3/basedefs/xbd_chap04.html>
+     says that
+       "A pathname that contains at least one non-slash character and that
+        ends with one or more trailing slashes shall be resolved as if a
+        single dot character ( '.' ) were appended to the pathname."
+     and
+       "The special filename dot shall refer to the directory specified by
+        its predecessor."
+     If the named file already exists as a directory, then
+       - if O_CREAT is specified, open() must fail because of the semantics
+         of O_CREAT,
+       - if O_WRONLY or O_RDWR is specified, open() must fail because POSIX
+         <http://www.opengroup.org/susv3/functions/open.html> says that it
+         fails with errno = EISDIR in this case.
+     If the named file does not exist or does not name a directory, then
+       - if O_CREAT is specified, open() must fail since open() cannot create
+         directories,
+       - if O_WRONLY or O_RDWR is specified, open() must fail because the
+         file does not contain a '.' directory.  */
+  if (flags & (O_CREAT | O_WRONLY | O_RDWR))
+    {
+      size_t len = strlen (filename);
+      if (len > 0 && filename[len - 1] == '/')
+       {
+         errno = EISDIR;
+         return -1;
+       }
+    }
+#endif
+
+  fd = orig_open (filename, flags, mode);
+
+#if OPEN_TRAILING_SLASH_BUG
+  /* If the filename ends in a slash and fd does not refer to a directory,
+     then fail.
+     Rationale: POSIX <http://www.opengroup.org/susv3/basedefs/xbd_chap04.html>
+     says that
+       "A pathname that contains at least one non-slash character and that
+        ends with one or more trailing slashes shall be resolved as if a
+        single dot character ( '.' ) were appended to the pathname."
+     and
+       "The special filename dot shall refer to the directory specified by
+        its predecessor."
+     If the named file without the slash is not a directory, open() must fail
+     with ENOTDIR.  */
+  if (fd >= 0)
+    {
+      size_t len = strlen (filename);
+      if (len > 0 && filename[len - 1] == '/')
+       {
+         struct stat statbuf;
+
+         if (fstat (fd, &statbuf) >= 0 && !S_ISDIR (statbuf.st_mode))
+           {
+             close (fd);
+             errno = ENOTDIR;
+             return -1;
+           }
+       }
+    }
+#endif
+
+#ifdef FCHDIR_REPLACEMENT
+  if (fd >= 0)
+    _gl_register_fd (fd, filename);
+#endif
+
+  return fd;
+}
index 6bc533d07f78b1468eb2972c71678bc4b4e537b1..81498ae2e3ec723a8955bf7559a4ffa5ec534cd5 100644 (file)
@@ -1,6 +1,6 @@
 /* Report a save- or restore-cwd failure in our openat replacement and then exit.
 
-   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2008 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -17,6 +17,8 @@
 
 #include <config.h>
 
+#include "openat.h"
+
 #include <stdlib.h>
 
 #include "error.h"
@@ -27,9 +29,9 @@
 #define N_(msgid) msgid
 
 void
-openat_save_fail (int errno)
+openat_save_fail (int errnum)
 {
-  error (exit_failure, errno,
+  error (exit_failure, errnum,
         _("unable to record current working directory"));
 
   /* The `noreturn' attribute cannot be applied to error, since it returns
@@ -40,9 +42,9 @@ openat_save_fail (int errno)
 }
 
 void
-openat_restore_fail (int errno)
+openat_restore_fail (int errnum)
 {
-  error (exit_failure, errno,
+  error (exit_failure, errnum,
         _("failed to return to initial working directory"));
 
   /* As above.  */
index 73f24b06972bd1f8e74cf1147216b9c4f4366667..0c32672215ceadb74bb7e3379efb645bfc58cb6f 100644 (file)
@@ -1,5 +1,5 @@
 /* provide a replacement openat function
-   Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
    This 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 <stdarg.h>
 #include <stddef.h>
+#include <sys/stat.h>
 
 #include "dirname.h" /* solely for definition of IS_ABSOLUTE_FILE_NAME */
 #include "fcntl--.h"
-#include "lstat.h"
 #include "openat-priv.h"
 #include "save-cwd.h"
 
diff --git a/lib/rawmemchr.c b/lib/rawmemchr.c
new file mode 100644 (file)
index 0000000..d7cdc6e
--- /dev/null
@@ -0,0 +1,136 @@
+/* Searching in a string.
+   Copyright (C) 2008 Free Software Foundation, Inc.
+
+   This 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/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <string.h>
+
+/* Find the first occurrence of C in S.  */
+void *
+rawmemchr (const void *s, int c_in)
+{
+  /* On 32-bit hardware, choosing longword to be a 32-bit unsigned
+     long instead of a 64-bit uintmax_t tends to give better
+     performance.  On 64-bit hardware, unsigned long is generally 64
+     bits already.  Change this typedef to experiment with
+     performance.  */
+  typedef unsigned long int longword;
+
+  const unsigned char *char_ptr;
+  const longword *longword_ptr;
+  longword repeated_one;
+  longword repeated_c;
+  unsigned char c;
+
+  c = (unsigned char) c_in;
+
+  /* Handle the first few bytes by reading one byte at a time.
+     Do this until CHAR_PTR is aligned on a longword boundary.  */
+  for (char_ptr = (const unsigned char *) s;
+       (size_t) char_ptr % sizeof (longword) != 0;
+       ++char_ptr)
+    if (*char_ptr == c)
+      return (void *) char_ptr;
+
+  longword_ptr = (const longword *) char_ptr;
+
+  /* All these elucidatory comments refer to 4-byte longwords,
+     but the theory applies equally well to any size longwords.  */
+
+  /* Compute auxiliary longword values:
+     repeated_one is a value which has a 1 in every byte.
+     repeated_c has c in every byte.  */
+  repeated_one = 0x01010101;
+  repeated_c = c | (c << 8);
+  repeated_c |= repeated_c << 16;
+  if (0xffffffffU < (longword) -1)
+    {
+      repeated_one |= repeated_one << 31 << 1;
+      repeated_c |= repeated_c << 31 << 1;
+      if (8 < sizeof (longword))
+        {
+          size_t i;
+
+          for (i = 64; i < sizeof (longword) * 8; i *= 2)
+            {
+              repeated_one |= repeated_one << i;
+              repeated_c |= repeated_c << i;
+            }
+        }
+    }
+
+  /* Instead of the traditional loop which tests each byte, we will
+     test a longword at a time.  The tricky part is testing if *any of
+     the four* bytes in the longword in question are equal to NUL or
+     c.  We first use an xor with repeated_c.  This reduces the task
+     to testing whether *any of the four* bytes in longword1 is zero.
+
+     We compute tmp =
+       ((longword1 - repeated_one) & ~longword1) & (repeated_one << 7).
+     That is, we perform the following operations:
+       1. Subtract repeated_one.
+       2. & ~longword1.
+       3. & a mask consisting of 0x80 in every byte.
+     Consider what happens in each byte:
+       - If a byte of longword1 is zero, step 1 and 2 transform it into 0xff,
+         and step 3 transforms it into 0x80.  A carry can also be propagated
+         to more significant bytes.
+       - If a byte of longword1 is nonzero, let its lowest 1 bit be at
+         position k (0 <= k <= 7); so the lowest k bits are 0.  After step 1,
+         the byte ends in a single bit of value 0 and k bits of value 1.
+         After step 2, the result is just k bits of value 1: 2^k - 1.  After
+         step 3, the result is 0.  And no carry is produced.
+     So, if longword1 has only non-zero bytes, tmp is zero.
+     Whereas if longword1 has a zero byte, call j the position of the least
+     significant zero byte.  Then the result has a zero at positions 0, ...,
+     j-1 and a 0x80 at position j.  We cannot predict the result at the more
+     significant bytes (positions j+1..3), but it does not matter since we
+     already have a non-zero bit at position 8*j+7.
+
+     The test whether any byte in longword1 is zero is equivalent
+     to testing whether tmp is nonzero.
+
+     This test can read beyond the end of a string, depending on where
+     C_IN is encountered.  However, this is considered safe since the
+     initialization phase ensured that the read will be aligned,
+     therefore, the read will not cross page boundaries and will not
+     cause a fault.  */
+
+  while (1)
+    {
+      longword longword1 = *longword_ptr ^ repeated_c;
+
+      if ((((longword1 - repeated_one) & ~longword1)
+           & (repeated_one << 7)) != 0)
+        break;
+      longword_ptr++;
+    }
+
+  char_ptr = (const unsigned char *) longword_ptr;
+
+  /* At this point, we know that one of the sizeof (longword) bytes
+     starting at char_ptr is == c.  On little-endian machines, we
+     could determine the first such byte without any further memory
+     accesses, just by looking at the tmp result from the last loop
+     iteration.  But this does not work on big-endian machines.
+     Choose code that works in both cases.  */
+
+  char_ptr = (unsigned char *) longword_ptr;
+  while (*char_ptr != c)
+    char_ptr++;
+  return (void *) char_ptr;
+}
diff --git a/lib/rawmemchr.valgrind b/lib/rawmemchr.valgrind
new file mode 100644 (file)
index 0000000..6363923
--- /dev/null
@@ -0,0 +1,12 @@
+# Suppress a valgrind message about use of uninitialized memory in rawmemchr().
+# This use is OK because it provides only a speedup.
+{
+    rawmemchr-value4
+    Memcheck:Value4
+    fun:rawmemchr
+}
+{
+    rawmemchr-value8
+    Memcheck:Value8
+    fun:rawmemchr
+}
index 5ef1c7295b1650e4a9cee5cbcbf55ba8ff41258f..49a8b48f83b9884c796dbeb754904175629ed13a 100644 (file)
@@ -1,7 +1,7 @@
 /* -*- buffer-read-only: t -*- vi: set ro: */
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002,2003,2004,2005,2006,2007 Free Software Foundation, Inc.
+   Copyright (C) 2002,2003,2004,2005,2006,2007,2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
@@ -778,7 +778,7 @@ re_compile_internal (regex_t *preg, const char * pattern, size_t length,
   __libc_lock_init (dfa->lock);
 
   err = re_string_construct (&regexp, pattern, length, preg->translate,
-                            syntax & RE_ICASE, dfa);
+                            (syntax & RE_ICASE) != 0, dfa);
   if (BE (err != REG_NOERROR, 0))
     {
     re_compile_internal_free_return:
@@ -1059,7 +1059,9 @@ optimize_utf8 (re_dfa_t *dfa)
          case BUF_LAST:
            break;
          default:
-           /* Word anchors etc. cannot be handled.  */
+           /* Word anchors etc. cannot be handled.  It's okay to test
+              opr.ctx_type since constraints (for all DFA nodes) are
+              created by ORing one or more opr.ctx_type values.  */
            return;
          }
        break;
@@ -1346,6 +1348,8 @@ calc_first (void *extra, bin_tree_t *node)
       node->node_idx = re_dfa_add_node (dfa, node->token);
       if (BE (node->node_idx == REG_MISSING, 0))
         return REG_ESPACE;
+      if (node->token.type == ANCHOR)
+        dfa->nodes[node->node_idx].constraint = node->token.opr.ctx_type;
     }
   return REG_NOERROR;
 }
@@ -1475,21 +1479,18 @@ duplicate_node_closure (re_dfa_t *dfa, Idx top_org_node, Idx top_clone_node,
             destination.  */
          org_dest = dfa->edests[org_node].elems[0];
          re_node_set_empty (dfa->edests + clone_node);
-         if (dfa->nodes[org_node].type == ANCHOR)
+         clone_dest = search_duplicated_node (dfa, org_dest, constraint);
+         /* If the node is root_node itself, it means the epsilon closure
+            has a loop.  Then tie it to the destination of the root_node.  */
+         if (org_node == root_node && clone_node != org_node)
            {
-             /* In case of the node has another constraint, append it.  */
-             if (org_node == root_node && clone_node != org_node)
-               {
-                 /* ...but if the node is root_node itself, it means the
-                    epsilon closure have a loop, then tie it to the
-                    destination of the root_node.  */
-                 ok = re_node_set_insert (dfa->edests + clone_node, org_dest);
-                 if (BE (! ok, 0))
-                   return REG_ESPACE;
-                 break;
-               }
-             constraint |= dfa->nodes[org_node].opr.ctx_type;
+             ok = re_node_set_insert (dfa->edests + clone_node, org_dest);
+             if (BE (! ok, 0))
+               return REG_ESPACE;
+             break;
            }
+         /* In case the node has another constraint, append it.  */
+         constraint |= dfa->nodes[org_node].constraint;
          clone_dest = duplicate_node (dfa, org_dest, constraint);
          if (BE (clone_dest == REG_MISSING, 0))
            return REG_ESPACE;
@@ -1507,7 +1508,7 @@ duplicate_node_closure (re_dfa_t *dfa, Idx top_org_node, Idx top_clone_node,
          clone_dest = search_duplicated_node (dfa, org_dest, constraint);
          if (clone_dest == REG_MISSING)
            {
-             /* There are no such a duplicated node, create a new one.  */
+             /* There is no such duplicated node, create a new one.  */
              reg_errcode_t err;
              clone_dest = duplicate_node (dfa, org_dest, constraint);
              if (BE (clone_dest == REG_MISSING, 0))
@@ -1522,7 +1523,7 @@ duplicate_node_closure (re_dfa_t *dfa, Idx top_org_node, Idx top_clone_node,
            }
          else
            {
-             /* There are a duplicated node which satisfy the constraint,
+             /* There is a duplicated node which satisfy the constraint,
                 use it to avoid infinite loop.  */
              ok = re_node_set_insert (dfa->edests + clone_node, clone_dest);
              if (BE (! ok, 0))
@@ -1571,8 +1572,7 @@ duplicate_node (re_dfa_t *dfa, Idx org_idx, unsigned int constraint)
   if (BE (dup_idx != REG_MISSING, 1))
     {
       dfa->nodes[dup_idx].constraint = constraint;
-      if (dfa->nodes[org_idx].type == ANCHOR)
-       dfa->nodes[dup_idx].constraint |= dfa->nodes[org_idx].opr.ctx_type;
+      dfa->nodes[dup_idx].constraint |= dfa->nodes[org_idx].constraint;
       dfa->nodes[dup_idx].duplicated = 1;
 
       /* Store the index of the original node.  */
@@ -1654,7 +1654,6 @@ static reg_errcode_t
 calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root)
 {
   reg_errcode_t err;
-  unsigned int constraint;
   Idx i;
   bool incomplete;
   bool ok;
@@ -1668,15 +1667,14 @@ calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, Idx node, bool root)
      We reference this value to avoid infinite loop.  */
   dfa->eclosures[node].nelem = REG_MISSING;
 
-  constraint = ((dfa->nodes[node].type == ANCHOR)
-               ? dfa->nodes[node].opr.ctx_type : 0);
-  /* If the current node has constraints, duplicate all nodes.
-     Since they must inherit the constraints.  */
-  if (constraint
+  /* If the current node has constraints, duplicate all nodes
+     since they must inherit the constraints.  */
+  if (dfa->nodes[node].constraint
       && dfa->edests[node].nelem
       && !dfa->nodes[dfa->edests[node].elems[0]].duplicated)
     {
-      err = duplicate_node_closure (dfa, node, node, node, constraint);
+      err = duplicate_node_closure (dfa, node, node, node,
+                                   dfa->nodes[node].constraint);
       if (BE (err != REG_NOERROR, 0))
        return err;
     }
index f1a6edd7adb60a3645c1446554139cdc500e42b7..598fc7486ea40f8705af7c4d0353c995079400d2 100644 (file)
@@ -1691,11 +1691,9 @@ create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
 
   for (i = 0 ; i < nodes->nelem ; i++)
     {
-      unsigned int constraint = 0;
       re_token_t *node = dfa->nodes + nodes->elems[i];
       re_token_type_t type = node->type;
-      if (node->constraint)
-       constraint = node->constraint;
+      unsigned int constraint = node->constraint;
 
       if (type == CHARACTER && !constraint)
        continue;
@@ -1708,8 +1706,6 @@ create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes,
        newstate->halt = 1;
       else if (type == OP_BACK_REF)
        newstate->has_backref = 1;
-      else if (type == ANCHOR)
-       constraint = node->opr.ctx_type;
 
       if (constraint)
        {
index 5f751696d52f90cdab5acca053e1e6d103ea59d4..131e025aa4e59879adc8e1db7e87e01e8d35fe30 100644 (file)
@@ -1,7 +1,7 @@
 /* -*- buffer-read-only: t -*- vi: set ro: */
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
@@ -163,9 +163,9 @@ typedef unsigned long int bitset_word_t;
    instead, deduce it directly from BITSET_WORD_MAX.  Avoid
    greater-than-32-bit integers and unconditional shifts by more than
    31 bits, as they're not portable.  */
-#if BITSET_WORD_MAX == 0xffffffff
+#if BITSET_WORD_MAX == 0xffffffffUL
 # define BITSET_WORD_BITS 32
-#elif BITSET_WORD_MAX >> 31 >> 5 == 1
+#elif BITSET_WORD_MAX >> 31 >> 4 == 1
 # define BITSET_WORD_BITS 36
 #elif BITSET_WORD_MAX >> 31 >> 16 == 1
 # define BITSET_WORD_BITS 48
@@ -423,7 +423,7 @@ struct re_dfa_t;
 typedef struct re_dfa_t re_dfa_t;
 
 #ifndef _LIBC
-# ifdef __i386__
+# if defined __i386__ && !defined __EMX__
 #  define internal_function   __attribute ((regparm (3), stdcall))
 # else
 #  define internal_function
index 6555498ed4d96ffbaeeb2a33f7f430b18bc85c30..a0942cc11bb755c7a9009954493da951ad2b447c 100644 (file)
@@ -1,7 +1,7 @@
 /* -*- buffer-read-only: t -*- vi: set ro: */
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation,
+   Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation,
    Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
@@ -703,7 +703,8 @@ re_search_internal (const regex_t *preg,
   fl_longest_match = (nmatch != 0 || dfa->nbackref);
 
   err = re_string_allocate (&mctx.input, string, length, dfa->nodes_len + 1,
-                           preg->translate, preg->syntax & RE_ICASE, dfa);
+                           preg->translate, (preg->syntax & RE_ICASE) != 0,
+                           dfa);
   if (BE (err != REG_NOERROR, 0))
     goto free_return;
   mctx.input.stop = stop;
@@ -3469,7 +3470,7 @@ out_free:
                                                        CONTEXT_NEWLINE);
          if (BE (dest_states_nl[i] == NULL && err != REG_NOERROR, 0))
            goto out_free;
-       }
+       }
       else
        {
          dest_states_word[i] = dest_states[i];
index 826bc4c5e5244970bbbae96c273dabd2030bd5a9..217e1710a2b1891ec11d45247a668acf9ddf47e8 100644 (file)
@@ -1,7 +1,7 @@
 /* Determine whether string value is affirmation or negative response
    according to current locale's data.
 
-   Copyright (C) 1996, 1998, 2000, 2002, 2003, 2006 Free Software
+   Copyright (C) 1996, 1998, 2000, 2002, 2003, 2006-2008 Free Software
    Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
 
 #include <config.h>
 
-#include <stddef.h>
+/* Specification.  */
 #include <stdlib.h>
 
+#include <stdbool.h>
+#include <stddef.h>
+
 #if ENABLE_NLS
 # include <sys/types.h>
 # include <limits.h>
+# include <string.h>
+# if HAVE_LANGINFO_YESEXPR
+#  include <langinfo.h>
+# endif
 # include <regex.h>
 # include "gettext.h"
 # define _(msgid) gettext (msgid)
+# define N_(msgid) gettext_noop (msgid)
+
+# if HAVE_LANGINFO_YESEXPR
+/* Return the localized regular expression pattern corresponding to
+   ENGLISH_PATTERN.  NL_INDEX can be used with nl_langinfo.
+   The resulting string may only be used until the next nl_langinfo call.  */
+static const char *
+localized_pattern (const char *english_pattern, nl_item nl_index,
+                  bool posixly_correct)
+{
+  const char *translated_pattern;
+
+  /* We prefer to get the patterns from a PO file.  It would be possible to
+     always use nl_langinfo (YESEXPR) instead of _("^[yY]"), and
+     nl_langinfo (NOEXPR) instead of _("^[nN]"), if we could assume that the
+     system's locale support is good.  But this is not the case e.g. on Cygwin.
+     The localizations of gnulib.pot are of better quality in general.
+     Also, if we use locale info from non-free systems that don't have a
+     'localedef' command, we deprive the users of the freedom to localize
+     this pattern for their preferred language.
+     But some programs, such as 'cp', 'mv', 'rm', 'find', 'xargs', are
+     specified by POSIX to use nl_langinfo (YESEXPR).  We implement this
+     behaviour if POSIXLY_CORRECT is set, for the sake of these programs.  */
+
+  /* If the user wants strict POSIX compliance, use nl_langinfo.  */
+  if (posixly_correct)
+    {
+      translated_pattern = nl_langinfo (nl_index);
+      /* Check against a broken system return value.  */
+      if (translated_pattern != NULL && translated_pattern[0] != '\0')
+       return translated_pattern;
+   }
+
+  /* Look in the gnulib message catalog.  */
+  translated_pattern = _(english_pattern);
+  if (translated_pattern == english_pattern)
+    {
+      /* The gnulib message catalog provides no translation.
+        Try the system's message catalog.  */
+      translated_pattern = nl_langinfo (nl_index);
+      /* Check against a broken system return value.  */
+      if (translated_pattern != NULL && translated_pattern[0] != '\0')
+       return translated_pattern;
+      /* Fall back to English.  */
+      translated_pattern = english_pattern;
+    }
+  return translated_pattern;
+}
+# else
+#  define localized_pattern(english_pattern,nl_index,posixly_correct) \
+     _(english_pattern)
+# endif
 
 static int
-try (const char *response, const char *pattern, const int match,
-     const int nomatch, const char **lastp, regex_t *re)
+try (const char *response, const char *pattern, char **lastp, regex_t *re)
 {
-  if (pattern != *lastp)
+  if (*lastp == NULL || strcmp (pattern, *lastp) != 0)
     {
+      char *safe_pattern;
+
       /* The pattern has changed.  */
-      if (*lastp)
+      if (*lastp != NULL)
        {
          /* Free the old compiled pattern.  */
          regfree (re);
+         free (*lastp);
          *lastp = NULL;
        }
+      /* Put the PATTERN into safe memory before calling regcomp.
+        (regcomp may call nl_langinfo, overwriting PATTERN's storage.  */
+      safe_pattern = strdup (pattern);
+      if (safe_pattern == NULL)
+       return -1;
       /* Compile the pattern and cache it for future runs.  */
-      if (regcomp (re, pattern, REG_EXTENDED) != 0)
+      if (regcomp (re, safe_pattern, REG_EXTENDED) != 0)
        return -1;
-      *lastp = pattern;
+      *lastp = safe_pattern;
     }
 
   /* See if the regular expression matches RESPONSE.  */
-  return regexec (re, response, 0, NULL, 0) == 0 ? match : nomatch;
+  return regexec (re, response, 0, NULL, 0) == 0;
 }
 #endif
 
@@ -62,14 +128,43 @@ rpmatch (const char *response)
      first if necessary.  */
 
   /* We cache the response patterns and compiled regexps here.  */
-  static const char *yesexpr, *noexpr;
-  static regex_t yesre, nore;
+  static char *last_yesexpr, *last_noexpr;
+  static regex_t cached_yesre, cached_nore;
+
+# if HAVE_LANGINFO_YESEXPR
+  bool posixly_correct = (getenv ("POSIXLY_CORRECT") != NULL);
+# endif
+
+  const char *yesexpr, *noexpr;
   int result;
 
-  return ((result = try (response, _("^[yY]"), 1, 0,
-                        &yesexpr, &yesre))
-         ? result
-         : try (response, _("^[nN]"), 0, -1, &noexpr, &nore));
+  /* TRANSLATORS: A regular expression testing for an affirmative answer
+     (english: "yes").  Testing the first character may be sufficient.
+     Take care to consider upper and lower case.
+     To enquire the regular expression that your system uses for this
+     purpose, you can use the command
+       locale -k LC_MESSAGES | grep '^yesexpr='  */
+  yesexpr = localized_pattern (N_("^[yY]"), YESEXPR, posixly_correct);
+  result = try (response, yesexpr, &last_yesexpr, &cached_yesre);
+  if (result < 0)
+    return -1;
+  if (result)
+    return 1;
+
+  /* TRANSLATORS: A regular expression testing for a negative answer
+     (english: "no").  Testing the first character may be sufficient.
+     Take care to consider upper and lower case.
+     To enquire the regular expression that your system uses for this
+     purpose, you can use the command
+       locale -k LC_MESSAGES | grep '^noexpr='  */
+  noexpr = localized_pattern (N_("^[nN]"), NOEXPR, posixly_correct);
+  result = try (response, noexpr, &last_noexpr, &cached_nore);
+  if (result < 0)
+    return -1;
+  if (result)
+    return 0;
+
+  return -1;
 #else
   /* Test against "^[yY]" and "^[nN]", hardcoded to avoid requiring regex */
   return (*response == 'y' || *response == 'Y' ? 1
index af5bc83c5e574482cf175107766b2bd3ac722791..6e1d4b563b27e4ccc5c191223f01b0158c6f0802 100644 (file)
 
 #ifndef _GL_STDARG_H
 
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
 /* The include_next requires a split double-inclusion guard.  */
 #@INCLUDE_NEXT@ @NEXT_STDARG_H@
 
index 42599f9e1f6ef9cd420c88eb45ed511e5ebc55b2..d95f7235132f0c095f2faf6327770a62792a0886 100644 (file)
@@ -1,6 +1,6 @@
 /* -*- buffer-read-only: t -*- vi: set ro: */
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 2001, 2002, 2003, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2003, 2006-2008 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
@@ -60,7 +60,7 @@
 
 /* BeOS <sys/socket.h> already #defines false 0, true 1.  We use the same
    definitions below, but temporarily we have to #undef them.  */
-#ifdef __BEOS__
+#if defined __BEOS__ && !defined __HAIKU__
 # include <OS.h> /* defines bool but not _Bool */
 # undef false
 # undef true
@@ -75,7 +75,7 @@
    (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int'
    (see ISO C 99 6.3.1.1.(2)).  So we add a negative value to the
    enum; this ensures that '_Bool' promotes to 'int'.  */
-#if defined __cplusplus || defined __BEOS__
+#if defined __cplusplus || (defined __BEOS__ && !defined __HAIKU__)
   /* A compiler known to have 'bool'.  */
   /* If the compiler already has both 'bool' and '_Bool', we can assume they
      are the same types.  */
index cbaf697c0f58956f02449c116ebcafb3ace8fd5e..55fe1767c4b6445a2cf1e984055c0bf8494a822f 100644 (file)
@@ -1,6 +1,6 @@
 /* -*- buffer-read-only: t -*- vi: set ro: */
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-/* Copyright (C) 2001-2002, 2004-2007 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2002, 2004-2008 Free Software Foundation, Inc.
    Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
    This file is part of gnulib.
 
@@ -51,6 +51,9 @@
      in <inttypes.h> would reinclude us, skipping our contents because
      _GL_STDINT_H is defined.
      The include_next requires a split double-inclusion guard.  */
+# if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+# endif
 # @INCLUDE_NEXT@ @NEXT_STDINT_H@
 #endif
 
diff --git a/lib/stdio-impl.h b/lib/stdio-impl.h
new file mode 100644 (file)
index 0000000..c803e88
--- /dev/null
@@ -0,0 +1,94 @@
+/* Implementation details of FILE streams.
+   Copyright (C) 2007-2008 Free Software Foundation, Inc.
+
+   This 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/>.  */
+
+/* Many stdio implementations have the same logic and therefore can share
+   the same implementation of stdio extension API, except that some fields
+   have different naming conventions, or their access requires some casts.  */
+
+
+/* BSD stdio derived implementations.  */
+
+#if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */
+
+# 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>.  */
+#  define fp_ ((struct { struct __FILE_public pub; \
+                        struct { unsigned char *_base; int _size; } _bf; \
+                        void *cookie; \
+                        void *_close; \
+                        void *_read; \
+                        void *_seek; \
+                        void *_write; \
+                        struct { unsigned char *_base; int _size; } _ub; \
+                        int _ur; \
+                        unsigned char _ubuf[3]; \
+                        unsigned char _nbuf[1]; \
+                        struct { unsigned char *_base; int _size; } _lb; \
+                        int _blksize; \
+                        fpos_t _offset; \
+                        /* More fields, not relevant here.  */ \
+                      } *) fp)
+  /* See <http://www.dragonflybsd.org/cvsweb/src/include/stdio.h?rev=HEAD&content-type=text/x-cvsweb-markup>.  */
+#  define _p pub._p
+#  define _flags pub._flags
+#  define _r pub._r
+#  define _w pub._w
+# else
+#  define fp_ fp
+# endif
+
+# if defined __NetBSD__ || defined __OpenBSD__ /* NetBSD, OpenBSD */
+  /* See <http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/stdio/fileext.h?rev=HEAD&content-type=text/x-cvsweb-markup>
+     and <http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/stdio/fileext.h?rev=HEAD&content-type=text/x-cvsweb-markup> */
+  struct __sfileext
+    {
+      struct  __sbuf _ub; /* ungetc buffer */
+      /* More fields, not relevant here.  */
+    };
+#  define fp_ub ((struct __sfileext *) fp->_ext._base)->_ub
+# else                                         /* FreeBSD, DragonFly, MacOS X, Cygwin */
+#  define fp_ub fp_->_ub
+# endif
+
+# define HASUB(fp) (fp_ub._base != NULL)
+
+#endif
+
+
+/* SystemV derived implementations.  */
+
+#if defined _IOERR
+
+# if defined __sun && defined _LP64 /* Solaris/{SPARC,AMD64} 64-bit */
+#  define fp_ ((struct { unsigned char *_ptr; \
+                        unsigned char *_base; \
+                        unsigned char *_end; \
+                        long _cnt; \
+                        int _file; \
+                        unsigned int _flag; \
+                      } *) fp)
+# else
+#  define fp_ fp
+# endif
+
+# if defined _SCO_DS                /* OpenServer */
+#  define _cnt __cnt
+#  define _ptr __ptr
+#  define _base __base
+#  define _flag __flag
+# endif
+
+#endif
diff --git a/lib/stdio-write.c b/lib/stdio-write.c
new file mode 100644 (file)
index 0000000..f1d0fcb
--- /dev/null
@@ -0,0 +1,148 @@
+/* POSIX compatible FILE stream write function.
+   Copyright (C) 2008 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2008.
+
+   This 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/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <stdio.h>
+
+/* Replace these functions only if module 'sigpipe' is requested.  */
+#if GNULIB_SIGPIPE
+
+/* On native Windows platforms, SIGPIPE does not exist.  When write() is
+   called on a pipe with no readers, WriteFile() fails with error
+   GetLastError() = ERROR_NO_DATA, and write() in consequence fails with
+   error EINVAL.  This write() function is at the basis of the function
+   which flushes the buffer of a FILE stream.  */
+
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+
+#  include <errno.h>
+#  include <signal.h>
+#  include <io.h>
+
+#  define WIN32_LEAN_AND_MEAN  /* avoid including junk */
+#  include <windows.h>
+
+#  define CALL_WITH_SIGPIPE_EMULATION(RETTYPE, EXPRESSION, FAILED) \
+  if (ferror (stream))                                                       \
+    return (EXPRESSION);                                                     \
+  else                                                                       \
+    {                                                                        \
+      RETTYPE ret;                                                           \
+      SetLastError (0);                                                              \
+      ret = (EXPRESSION);                                                    \
+      if (FAILED && GetLastError () == ERROR_NO_DATA && ferror (stream))      \
+       {                                                                     \
+         int fd = fileno (stream);                                           \
+         if (fd >= 0                                                         \
+             && GetFileType ((HANDLE) _get_osfhandle (fd)) == FILE_TYPE_PIPE)\
+           {                                                                 \
+             /* Try to raise signal SIGPIPE.  */                             \
+             raise (SIGPIPE);                                                \
+             /* If it is currently blocked or ignored, change errno from     \
+                EINVAL to EPIPE.  */                                         \
+             errno = EPIPE;                                                  \
+           }                                                                 \
+       }                                                                     \
+      return ret;                                                            \
+    }
+
+#  if !REPLACE_PRINTF_POSIX /* avoid collision with printf.c */
+int
+printf (const char *format, ...)
+{
+  int retval;
+  va_list args;
+
+  va_start (args, format);
+  retval = vfprintf (stdout, format, args);
+  va_end (args);
+
+  return retval;
+}
+#  endif
+
+#  if !REPLACE_FPRINTF_POSIX /* avoid collision with fprintf.c */
+int
+fprintf (FILE *stream, const char *format, ...)
+{
+  int retval;
+  va_list args;
+
+  va_start (args, format);
+  retval = vfprintf (stream, format, args);
+  va_end (args);
+
+  return retval;
+}
+#  endif
+
+#  if !REPLACE_VFPRINTF_POSIX /* avoid collision with vprintf.c */
+int
+vprintf (const char *format, va_list args)
+{
+  return vfprintf (stdout, format, args);
+}
+#  endif
+
+#  if !REPLACE_VPRINTF_POSIX /* avoid collision with vfprintf.c */
+int
+vfprintf (FILE *stream, const char *format, va_list args)
+#undef vfprintf
+{
+  CALL_WITH_SIGPIPE_EMULATION (int, vfprintf (stream, format, args), ret == EOF)
+}
+#  endif
+
+int
+putchar (int c)
+{
+  return fputc (c, stdout);
+}
+
+int
+fputc (int c, FILE *stream)
+#undef fputc
+{
+  CALL_WITH_SIGPIPE_EMULATION (int, fputc (c, stream), ret == EOF)
+}
+
+int
+fputs (const char *string, FILE *stream)
+#undef fputs
+{
+  CALL_WITH_SIGPIPE_EMULATION (int, fputs (string, stream), ret == EOF)
+}
+
+int
+puts (const char *string)
+#undef puts
+{
+  FILE *stream = stdout;
+  CALL_WITH_SIGPIPE_EMULATION (int, puts (string), ret == EOF)
+}
+
+size_t
+fwrite (const void *ptr, size_t s, size_t n, FILE *stream)
+#undef fwrite
+{
+  CALL_WITH_SIGPIPE_EMULATION (size_t, fwrite (ptr, s, n, stream), ret < n)
+}
+
+# endif
+#endif
index 3da40fe99c4488b12eb0d2fdbd6c4e45f8a91aa1..c237604ac9f0d4406adbd6980b7d57426e966b4e 100644 (file)
    along with this program; if not, write to the Free Software Foundation,
    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
 #if defined __need_FILE || defined __need___FILE
 /* Special invocation convention inside glibc header files.  */
 
@@ -73,6 +77,10 @@ extern "C" {
 extern int fprintf (FILE *fp, const char *format, ...)
        __attribute__ ((__format__ (__printf__, 2, 3)));
 # endif
+#elif @GNULIB_FPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
+# define fprintf rpl_fprintf
+extern int fprintf (FILE *fp, const char *format, ...)
+       __attribute__ ((__format__ (__printf__, 2, 3)));
 #elif defined GNULIB_POSIXCHECK
 # undef fprintf
 # define fprintf \
@@ -88,6 +96,10 @@ extern int fprintf (FILE *fp, const char *format, ...)
 extern int vfprintf (FILE *fp, const char *format, va_list args)
        __attribute__ ((__format__ (__printf__, 2, 0)));
 # endif
+#elif @GNULIB_VFPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
+# define vfprintf rpl_vfprintf
+extern int vfprintf (FILE *fp, const char *format, va_list args)
+       __attribute__ ((__format__ (__printf__, 2, 0)));
 #elif defined GNULIB_POSIXCHECK
 # undef vfprintf
 # define vfprintf(s,f,a) \
@@ -104,6 +116,11 @@ extern int vfprintf (FILE *fp, const char *format, va_list args)
 extern int printf (const char *format, ...)
        __attribute__ ((__format__ (__printf__, 1, 2)));
 # endif
+#elif @GNULIB_PRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
+/* Don't break __attribute__((format(printf,M,N))).  */
+# define printf __printf__
+extern int printf (const char *format, ...)
+       __attribute__ ((__format__ (__printf__, 1, 2)));
 #elif defined GNULIB_POSIXCHECK
 # undef printf
 # define printf \
@@ -126,6 +143,10 @@ extern int printf (const char *format, ...)
 extern int vprintf (const char *format, va_list args)
        __attribute__ ((__format__ (__printf__, 1, 0)));
 # endif
+#elif @GNULIB_VPRINTF@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
+# define vprintf rpl_vprintf
+extern int vprintf (const char *format, va_list args)
+       __attribute__ ((__format__ (__printf__, 1, 0)));
 #elif defined GNULIB_POSIXCHECK
 # undef vprintf
 # define vprintf(f,a) \
@@ -214,8 +235,29 @@ extern int vsprintf (char *str, const char *format, va_list args)
 # endif
 #endif
 
+#if @GNULIB_OBSTACK_PRINTF@
+# if @REPLACE_OBSTACK_PRINTF@
+#  define obstack_printf rpl_osbtack_printf
+#  define obstack_vprintf rpl_obstack_vprintf
+# endif
+# if @REPLACE_OBSTACK_PRINTF@ || !@HAVE_DECL_OBSTACK_PRINTF@
+  struct obstack;
+  /* Grow an obstack with formatted output.  Return the number of
+     bytes added to OBS.  No trailing nul byte is added, and the
+     object should be closed with obstack_finish before use.  Upon
+     memory allocation error, call obstack_alloc_failed_handler.  Upon
+     other error, return -1.  */
+  extern int obstack_printf (struct obstack *obs, const char *format, ...)
+    __attribute__ ((__format__ (__printf__, 2, 3)));
+  extern int obstack_vprintf (struct obstack *obs, const char *format,
+                             va_list args)
+    __attribute__ ((__format__ (__printf__, 2, 0)));
+# endif
+#endif
+
 #if @GNULIB_FOPEN@
 # if @REPLACE_FOPEN@
+#  undef fopen
 #  define fopen rpl_fopen
 extern FILE * fopen (const char *filename, const char *mode);
 # endif
@@ -229,6 +271,7 @@ extern FILE * fopen (const char *filename, const char *mode);
 
 #if @GNULIB_FREOPEN@
 # if @REPLACE_FREOPEN@
+#  undef freopen
 #  define freopen rpl_freopen
 extern FILE * freopen (const char *filename, const char *mode, FILE *stream);
 # endif
@@ -334,6 +377,57 @@ extern long rpl_ftell (FILE *fp);
     fflush (f))
 #endif
 
+#if @GNULIB_FCLOSE@
+# if @REPLACE_FCLOSE@
+#  define fclose rpl_fclose
+  /* Close STREAM and its underlying file descriptor.  */
+extern int fclose (FILE *stream);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef fclose
+# define fclose(f) \
+   (GL_LINK_WARNING ("fclose is not always POSIX compliant - " \
+                     "use gnulib module fclose for portable " \
+                     "POSIX compliance"), \
+    fclose (f))
+#endif
+
+#if @GNULIB_FPUTC@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
+# undef fputc
+# define fputc rpl_fputc
+extern int fputc (int c, FILE *stream);
+#endif
+
+#if @GNULIB_PUTC@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
+# undef putc
+# define putc rpl_fputc
+extern int putc (int c, FILE *stream);
+#endif
+
+#if @GNULIB_PUTCHAR@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
+# undef putchar
+# define putchar rpl_putchar
+extern int putchar (int c);
+#endif
+
+#if @GNULIB_FPUTS@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
+# undef fputs
+# define fputs rpl_fputs
+extern int fputs (const char *string, FILE *stream);
+#endif
+
+#if @GNULIB_PUTS@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
+# undef puts
+# define puts rpl_puts
+extern int puts (const char *string);
+#endif
+
+#if @GNULIB_FWRITE@ && @REPLACE_STDIO_WRITE_FUNCS@ && @GNULIB_STDIO_H_SIGPIPE@
+# undef fwrite
+# define fwrite rpl_fwrite
+extern size_t fwrite (const void *ptr, size_t s, size_t n, FILE *stream);
+#endif
+
 #if @GNULIB_GETDELIM@
 # if !@HAVE_DECL_GETDELIM@
 /* Read input, up to (and including) the next occurrence of DELIMITER, from
@@ -375,6 +469,22 @@ extern ssize_t getline (char **lineptr, size_t *linesize, FILE *stream);
    getline (l, s, f))
 #endif
 
+#if @GNULIB_PERROR@
+# if @REPLACE_PERROR@
+#  define perror rpl_perror
+/* Print a message to standard error, describing the value of ERRNO,
+   (if STRING is not NULL and not empty) prefixed with STRING and ": ",
+   and terminated with a newline.  */
+extern void perror (const char *string);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef perror
+# define perror(s) \
+    (GL_LINK_WARNING ("perror is not always POSIX compliant - " \
+                      "use gnulib module perror for portability"), \
+     perror (s))
+#endif
+
 #ifdef __cplusplus
 }
 #endif
index 0181dd23762a5f3b7da59995ae9e603e36b635f2..f6ebe253c8775b8b5bd4fee65dfd2e09f103ffb1 100644 (file)
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
 #if defined __need_malloc_and_calloc
 /* Special invocation convention inside glibc header files.  */
 
 #define _GL_STDLIB_H
 
 
+/* Solaris declares getloadavg() in <sys/loadavg.h>.  */
+#if @GNULIB_GETLOADAVG@ && @HAVE_SYS_LOADAVG_H@
+# include <sys/loadavg.h>
+#endif
+
+#if @GNULIB_RANDOM_R@ || !@HAVE_STRUCT_RANDOM_DATA@
+# include <stdint.h>
+#endif
+
+#if !@HAVE_STRUCT_RANDOM_DATA@
+struct random_data
+{
+  int32_t *fptr;               /* Front pointer.  */
+  int32_t *rptr;               /* Rear pointer.  */
+  int32_t *state;              /* Array of state values.  */
+  int rand_type;               /* Type of random number generator.  */
+  int rand_deg;                /* Degree of random number generator.  */
+  int rand_sep;                /* Distance between front and rear.  */
+  int32_t *end_ptr;            /* Pointer behind state table.  */
+};
+#endif
+
 /* The definition of GL_LINK_WARNING is copied here.  */
 
 
@@ -99,6 +125,38 @@ extern void * calloc (size_t nmemb, size_t size);
 #endif
 
 
+#if @GNULIB_ATOLL@
+# if !@HAVE_ATOLL@
+/* Parse a signed decimal integer.
+   Returns the value of the integer.  Errors are not detected.  */
+extern long long atoll (const char *string);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef atoll
+# define atoll(s) \
+    (GL_LINK_WARNING ("atoll is unportable - " \
+                      "use gnulib module atoll for portability"), \
+     atoll (s))
+#endif
+
+
+#if @GNULIB_GETLOADAVG@
+# if !@HAVE_DECL_GETLOADAVG@
+/* Store max(NELEM,3) load average numbers in LOADAVG[].
+   The three numbers are the load average of the last 1 minute, the last 5
+   minutes, and the last 15 minutes, respectively.
+   LOADAVG is an array of NELEM numbers.  */
+extern int getloadavg (double loadavg[], int nelem);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef getloadavg
+# define getloadavg(l,n) \
+    (GL_LINK_WARNING ("getloadavg is not portable - " \
+                      "use gnulib module getloadavg for portability"), \
+     getloadavg (l, n))
+#endif
+
+
 #if @GNULIB_GETSUBOPT@
 /* Assuming *OPTIONP is a comma separated list of elements of the form
    "token" or "token=value", getsubopt parses the first of these elements.
@@ -176,6 +234,58 @@ extern int putenv (char *string);
 #endif
 
 
+#if @GNULIB_RANDOM_R@
+# if !@HAVE_RANDOM_R@
+
+#  ifndef RAND_MAX
+#   define RAND_MAX 2147483647
+#  endif
+
+int srandom_r (unsigned int seed, struct random_data *rand_state);
+int initstate_r (unsigned int seed, char *buf, size_t buf_size,
+                struct random_data *rand_state);
+int setstate_r (char *arg_state, struct random_data *rand_state);
+int random_r (struct random_data *buf, int32_t *result);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef random_r
+# define random_r(b,r)                           \
+    (GL_LINK_WARNING ("random_r is unportable - " \
+                      "use gnulib module random_r for portability"), \
+     random_r (b,r))
+# undef initstate_r
+# define initstate_r(s,b,sz,r)                      \
+    (GL_LINK_WARNING ("initstate_r is unportable - " \
+                      "use gnulib module random_r for portability"), \
+     initstate_r (s,b,sz,r))
+# undef srandom_r
+# define srandom_r(s,r)                                   \
+    (GL_LINK_WARNING ("srandom_r is unportable - " \
+                      "use gnulib module random_r for portability"), \
+     srandom_r (s,r))
+# undef setstate_r
+# define setstate_r(a,r)                                   \
+    (GL_LINK_WARNING ("setstate_r is unportable - " \
+                      "use gnulib module random_r for portability"), \
+     setstate_r (a,r))
+#endif
+
+
+#if @GNULIB_RPMATCH@
+# if !@HAVE_RPMATCH@
+/* Test a user response to a question.
+   Return 1 if it is affirmative, 0 if it is negative, or -1 if not clear.  */
+extern int rpmatch (const char *response);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef rpmatch
+# define rpmatch(r) \
+    (GL_LINK_WARNING ("rpmatch is unportable - " \
+                      "use gnulib module rpmatch for portability"), \
+     rpmatch (r))
+#endif
+
+
 #if @GNULIB_SETENV@
 # if !@HAVE_SETENV@
 /* Set NAME to VALUE in the environment.
@@ -216,6 +326,48 @@ extern double strtod (const char *str, char **endp);
 #endif
 
 
+#if @GNULIB_STRTOLL@
+# if !@HAVE_STRTOLL@
+/* Parse a signed integer whose textual representation starts at STRING.
+   The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
+   it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
+   "0x").
+   If ENDPTR is not NULL, the address of the first byte after the integer is
+   stored in *ENDPTR.
+   Upon overflow, the return value is LLONG_MAX or LLONG_MIN, and errno is set
+   to ERANGE.  */
+extern long long strtoll (const char *string, char **endptr, int base);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strtoll
+# define strtoll(s,e,b) \
+    (GL_LINK_WARNING ("strtoll is unportable - " \
+                      "use gnulib module strtoll for portability"), \
+     strtoll (s, e, b))
+#endif
+
+
+#if @GNULIB_STRTOULL@
+# if !@HAVE_STRTOULL@
+/* Parse an unsigned integer whose textual representation starts at STRING.
+   The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
+   it may be decimal or octal (with prefix "0") or hexadecimal (with prefix
+   "0x").
+   If ENDPTR is not NULL, the address of the first byte after the integer is
+   stored in *ENDPTR.
+   Upon overflow, the return value is ULLONG_MAX, and errno is set to
+   ERANGE.  */
+extern unsigned long long strtoull (const char *string, char **endptr, int base);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strtoull
+# define strtoull(s,e,b) \
+    (GL_LINK_WARNING ("strtoull is unportable - " \
+                      "use gnulib module strtoull for portability"), \
+     strtoull (s, e, b))
+#endif
+
+
 #ifdef __cplusplus
 }
 #endif
index da4049dc8f15b7658ce0c0311291a1fda15ac44f..5ed237c3e0f415ea7139f59e66e157e562d27352 100644 (file)
@@ -1,5 +1,5 @@
 /* Searching in a string.
-   Copyright (C) 2003, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2007, 2008 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 char *
 strchrnul (const char *s, int c_in)
 {
-  char c = c_in;
-  while (*s && (*s != c))
-    s++;
+  /* On 32-bit hardware, choosing longword to be a 32-bit unsigned
+     long instead of a 64-bit uintmax_t tends to give better
+     performance.  On 64-bit hardware, unsigned long is generally 64
+     bits already.  Change this typedef to experiment with
+     performance.  */
+  typedef unsigned long int longword;
 
-  return (char *) s;
+  const unsigned char *char_ptr;
+  const longword *longword_ptr;
+  longword repeated_one;
+  longword repeated_c;
+  unsigned char c;
+
+  c = (unsigned char) c_in;
+  if (!c)
+    return rawmemchr (s, 0);
+
+  /* Handle the first few bytes by reading one byte at a time.
+     Do this until CHAR_PTR is aligned on a longword boundary.  */
+  for (char_ptr = (const unsigned char *) s;
+       (size_t) char_ptr % sizeof (longword) != 0;
+       ++char_ptr)
+    if (!*char_ptr || *char_ptr == c)
+      return (char *) char_ptr;
+
+  longword_ptr = (const longword *) char_ptr;
+
+  /* All these elucidatory comments refer to 4-byte longwords,
+     but the theory applies equally well to any size longwords.  */
+
+  /* Compute auxiliary longword values:
+     repeated_one is a value which has a 1 in every byte.
+     repeated_c has c in every byte.  */
+  repeated_one = 0x01010101;
+  repeated_c = c | (c << 8);
+  repeated_c |= repeated_c << 16;
+  if (0xffffffffU < (longword) -1)
+    {
+      repeated_one |= repeated_one << 31 << 1;
+      repeated_c |= repeated_c << 31 << 1;
+      if (8 < sizeof (longword))
+        {
+          size_t i;
+
+          for (i = 64; i < sizeof (longword) * 8; i *= 2)
+            {
+              repeated_one |= repeated_one << i;
+              repeated_c |= repeated_c << i;
+            }
+        }
+    }
+
+  /* Instead of the traditional loop which tests each byte, we will
+     test a longword at a time.  The tricky part is testing if *any of
+     the four* bytes in the longword in question are equal to NUL or
+     c.  We first use an xor with repeated_c.  This reduces the task
+     to testing whether *any of the four* bytes in longword1 or
+     longword2 is zero.
+
+     Let's consider longword1.  We compute tmp =
+       ((longword1 - repeated_one) & ~longword1) & (repeated_one << 7).
+     That is, we perform the following operations:
+       1. Subtract repeated_one.
+       2. & ~longword1.
+       3. & a mask consisting of 0x80 in every byte.
+     Consider what happens in each byte:
+       - If a byte of longword1 is zero, step 1 and 2 transform it into 0xff,
+         and step 3 transforms it into 0x80.  A carry can also be propagated
+         to more significant bytes.
+       - If a byte of longword1 is nonzero, let its lowest 1 bit be at
+         position k (0 <= k <= 7); so the lowest k bits are 0.  After step 1,
+         the byte ends in a single bit of value 0 and k bits of value 1.
+         After step 2, the result is just k bits of value 1: 2^k - 1.  After
+         step 3, the result is 0.  And no carry is produced.
+     So, if longword1 has only non-zero bytes, tmp is zero.
+     Whereas if longword1 has a zero byte, call j the position of the least
+     significant zero byte.  Then the result has a zero at positions 0, ...,
+     j-1 and a 0x80 at position j.  We cannot predict the result at the more
+     significant bytes (positions j+1..3), but it does not matter since we
+     already have a non-zero bit at position 8*j+7.
+
+     The test whether any byte in longword1 or longword2 is zero is equivalent
+     to testing whether tmp1 is nonzero or tmp2 is nonzero.  We can combine
+     this into a single test, whether (tmp1 | tmp2) is nonzero.
+
+     This test can read more than one byte beyond the end of a string,
+     depending on where the terminating NUL is encountered.  However,
+     this is considered safe since the initialization phase ensured
+     that the read will be aligned, therefore, the read will not cross
+     page boundaries and will not cause a fault.  */
+
+  while (1)
+    {
+      longword longword1 = *longword_ptr ^ repeated_c;
+      longword longword2 = *longword_ptr;
+
+      if (((((longword1 - repeated_one) & ~longword1)
+            | ((longword2 - repeated_one) & ~longword2))
+           & (repeated_one << 7)) != 0)
+        break;
+      longword_ptr++;
+    }
+
+  char_ptr = (const unsigned char *) longword_ptr;
+
+  /* At this point, we know that one of the sizeof (longword) bytes
+     starting at char_ptr is == 0 or == c.  On little-endian machines,
+     we could determine the first such byte without any further memory
+     accesses, just by looking at the tmp result from the last loop
+     iteration.  But this does not work on big-endian machines.
+     Choose code that works in both cases.  */
+
+  char_ptr = (unsigned char *) longword_ptr;
+  while (*char_ptr && (*char_ptr != c))
+    char_ptr++;
+  return (char *) char_ptr;
 }
diff --git a/lib/strchrnul.valgrind b/lib/strchrnul.valgrind
new file mode 100644 (file)
index 0000000..b14fa13
--- /dev/null
@@ -0,0 +1,12 @@
+# Suppress a valgrind message about use of uninitialized memory in strchrnul().
+# This use is OK because it provides only a speedup.
+{
+    strchrnul-value4
+    Memcheck:Value4
+    fun:strchrnul
+}
+{
+    strchrnul-value8
+    Memcheck:Value8
+    fun:strchrnul
+}
index 9fe437db78df8a661bb2f6709b8d943b102832cc..787575fda58fd380fa70d28b0e6a941dc151f013 100644 (file)
@@ -1,6 +1,6 @@
 /* strerror.c --- POSIX compatible system error routine
 
-   Copyright (C) 2007 Free Software Foundation, Inc.
+   Copyright (C) 2007-2008 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 #if REPLACE_STRERROR
 
+# include <errno.h>
 # include <stdio.h>
 
+# if GNULIB_defined_ESOCK /* native Windows platforms */
+#  if HAVE_WINSOCK2_H
+#   include <winsock2.h>
+#  endif
+# endif
+
 # include "intprops.h"
 
 # undef strerror
 char *
 rpl_strerror (int n)
 {
-  char *result = strerror (n);
-
-  if (result == NULL || result[0] == '\0')
+  /* These error messages are taken from glibc/sysdeps/gnu/errlist.c.  */
+  switch (n)
     {
-      static char const fmt[] = "Unknown error (%d)";
-      static char mesg[sizeof fmt + INT_STRLEN_BOUND (n)];
-      sprintf (mesg, fmt, n);
-      return mesg;
+# if GNULIB_defined_ETXTBSY
+    case ETXTBSY:
+      return "Text file busy";
+# endif
+
+# if GNULIB_defined_ESOCK /* native Windows platforms */
+    /* EWOULDBLOCK is the same as EAGAIN.  */
+    case EINPROGRESS:
+      return "Operation now in progress";
+    case EALREADY:
+      return "Operation already in progress";
+    case ENOTSOCK:
+      return "Socket operation on non-socket";
+    case EDESTADDRREQ:
+      return "Destination address required";
+    case EMSGSIZE:
+      return "Message too long";
+    case EPROTOTYPE:
+      return "Protocol wrong type for socket";
+    case ENOPROTOOPT:
+      return "Protocol not available";
+    case EPROTONOSUPPORT:
+      return "Protocol not supported";
+    case ESOCKTNOSUPPORT:
+      return "Socket type not supported";
+    case EOPNOTSUPP:
+      return "Operation not supported";
+    case EPFNOSUPPORT:
+      return "Protocol family not supported";
+    case EAFNOSUPPORT:
+      return "Address family not supported by protocol";
+    case EADDRINUSE:
+      return "Address already in use";
+    case EADDRNOTAVAIL:
+      return "Cannot assign requested address";
+    case ENETDOWN:
+      return "Network is down";
+    case ENETUNREACH:
+      return "Network is unreachable";
+    case ENETRESET:
+      return "Network dropped connection on reset";
+    case ECONNABORTED:
+      return "Software caused connection abort";
+    case ECONNRESET:
+      return "Connection reset by peer";
+    case ENOBUFS:
+      return "No buffer space available";
+    case EISCONN:
+      return "Transport endpoint is already connected";
+    case ENOTCONN:
+      return "Transport endpoint is not connected";
+    case ESHUTDOWN:
+      return "Cannot send after transport endpoint shutdown";
+    case ETOOMANYREFS:
+      return "Too many references: cannot splice";
+    case ETIMEDOUT:
+      return "Connection timed out";
+    case ECONNREFUSED:
+      return "Connection refused";
+    case ELOOP:
+      return "Too many levels of symbolic links";
+    case EHOSTDOWN:
+      return "Host is down";
+    case EHOSTUNREACH:
+      return "No route to host";
+    case EPROCLIM:
+      return "Too many processes";
+    case EUSERS:
+      return "Too many users";
+    case EDQUOT:
+      return "Disk quota exceeded";
+    case ESTALE:
+      return "Stale NFS file handle";
+    case EREMOTE:
+      return "Object is remote";
+#  if HAVE_WINSOCK2_H
+    /* WSA_INVALID_HANDLE maps to EBADF */
+    /* WSA_NOT_ENOUGH_MEMORY maps to ENOMEM */
+    /* WSA_INVALID_PARAMETER maps to EINVAL */
+    case WSA_OPERATION_ABORTED:
+      return "Overlapped operation aborted";
+    case WSA_IO_INCOMPLETE:
+      return "Overlapped I/O event object not in signaled state";
+    case WSA_IO_PENDING:
+      return "Overlapped operations will complete later";
+    /* WSAEINTR maps to EINTR */
+    /* WSAEBADF maps to EBADF */
+    /* WSAEACCES maps to EACCES */
+    /* WSAEFAULT maps to EFAULT */
+    /* WSAEINVAL maps to EINVAL */
+    /* WSAEMFILE maps to EMFILE */
+    /* WSAEWOULDBLOCK maps to EWOULDBLOCK */
+    /* WSAEINPROGRESS is EINPROGRESS */
+    /* WSAEALREADY is EALREADY */
+    /* WSAENOTSOCK is ENOTSOCK */
+    /* WSAEDESTADDRREQ is EDESTADDRREQ */
+    /* WSAEMSGSIZE is EMSGSIZE */
+    /* WSAEPROTOTYPE is EPROTOTYPE */
+    /* WSAENOPROTOOPT is ENOPROTOOPT */
+    /* WSAEPROTONOSUPPORT is EPROTONOSUPPORT */
+    /* WSAESOCKTNOSUPPORT is ESOCKTNOSUPPORT */
+    /* WSAEOPNOTSUPP is EOPNOTSUPP */
+    /* WSAEPFNOSUPPORT is EPFNOSUPPORT */
+    /* WSAEAFNOSUPPORT is EAFNOSUPPORT */
+    /* WSAEADDRINUSE is EADDRINUSE */
+    /* WSAEADDRNOTAVAIL is EADDRNOTAVAIL */
+    /* WSAENETDOWN is ENETDOWN */
+    /* WSAENETUNREACH is ENETUNREACH */
+    /* WSAENETRESET is ENETRESET */
+    /* WSAECONNABORTED is ECONNABORTED */
+    /* WSAECONNRESET is ECONNRESET */
+    /* WSAENOBUFS is ENOBUFS */
+    /* WSAEISCONN is EISCONN */
+    /* WSAENOTCONN is ENOTCONN */
+    /* WSAESHUTDOWN is ESHUTDOWN */
+    /* WSAETOOMANYREFS is ETOOMANYREFS */
+    /* WSAETIMEDOUT is ETIMEDOUT */
+    /* WSAECONNREFUSED is ECONNREFUSED */
+    /* WSAELOOP is ELOOP */
+    /* WSAENAMETOOLONG maps to ENAMETOOLONG */
+    /* WSAEHOSTDOWN is EHOSTDOWN */
+    /* WSAEHOSTUNREACH is EHOSTUNREACH */
+    /* WSAENOTEMPTY maps to ENOTEMPTY */
+    /* WSAEPROCLIM is EPROCLIM */
+    /* WSAEUSERS is EUSERS */
+    /* WSAEDQUOT is EDQUOT */
+    /* WSAESTALE is ESTALE */
+    /* WSAEREMOTE is EREMOTE */
+    case WSASYSNOTREADY:
+      return "Network subsystem is unavailable";
+    case WSAVERNOTSUPPORTED:
+      return "Winsock.dll version out of range";
+    case WSANOTINITIALISED:
+      return "Successful WSAStartup not yet performed";
+    case WSAEDISCON:
+      return "Graceful shutdown in progress";
+    case WSAENOMORE: case WSA_E_NO_MORE:
+      return "No more results";
+    case WSAECANCELLED: case WSA_E_CANCELLED:
+      return "Call was canceled";
+    case WSAEINVALIDPROCTABLE:
+      return "Procedure call table is invalid";
+    case WSAEINVALIDPROVIDER:
+      return "Service provider is invalid";
+    case WSAEPROVIDERFAILEDINIT:
+      return "Service provider failed to initialize";
+    case WSASYSCALLFAILURE:
+      return "System call failure";
+    case WSASERVICE_NOT_FOUND:
+      return "Service not found";
+    case WSATYPE_NOT_FOUND:
+      return "Class type not found";
+    case WSAEREFUSED:
+      return "Database query was refused";
+    case WSAHOST_NOT_FOUND:
+      return "Host not found";
+    case WSATRY_AGAIN:
+      return "Nonauthoritative host not found";
+    case WSANO_RECOVERY:
+      return "Nonrecoverable error";
+    case WSANO_DATA:
+      return "Valid name, no data record of requested type";
+    /* WSA_QOS_* omitted */
+#  endif
+# endif
+
+# if GNULIB_defined_ENOMSG
+    case ENOMSG:
+      return "No message of desired type";
+# endif
+
+# if GNULIB_defined_EIDRM
+    case EIDRM:
+      return "Identifier removed";
+# endif
+
+# if GNULIB_defined_ENOLINK
+    case ENOLINK:
+      return "Link has been severed";
+# endif
+
+# if GNULIB_defined_EPROTO
+    case EPROTO:
+      return "Protocol error";
+# endif
+
+# if GNULIB_defined_EMULTIHOP
+    case EMULTIHOP:
+      return "Multihop attempted";
+# endif
+
+# if GNULIB_defined_EBADMSG
+    case EBADMSG:
+      return "Bad message";
+# endif
+
+# if GNULIB_defined_EOVERFLOW
+    case EOVERFLOW:
+      return "Value too large for defined data type";
+# endif
+
+# if GNULIB_defined_ENOTSUP
+    case ENOTSUP:
+      return "Not supported";
+# endif
+
+# if GNULIB_defined_
+    case ECANCELED:
+      return "Operation canceled";
+# endif
     }
 
-  return result;
+  {
+    char *result = strerror (n);
+
+    if (result == NULL || result[0] == '\0')
+      {
+       static char const fmt[] = "Unknown error (%d)";
+       static char mesg[sizeof fmt + INT_STRLEN_BOUND (n)];
+       sprintf (mesg, fmt, n);
+       return mesg;
+      }
+
+    return result;
+  }
 }
 
 #endif
index 57a89b509d35b4a21799cb9582a71dfc1aef0894..a300dad5dd32275de40273eb07bb0562a209e6b4 100644 (file)
 
 #ifndef _GL_STRING_H
 
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
 /* The include_next requires a split double-inclusion guard.  */
 #@INCLUDE_NEXT@ @NEXT_STRING_H@
 
@@ -95,6 +99,22 @@ extern void *memrchr (void const *, int, size_t)
      memrchr (a, b, c))
 #endif
 
+/* Find the first occurrence of C in S.  More efficient than
+   memchr(S,C,N), at the expense of undefined behavior if C does not
+   occur within N bytes.  */
+#if @GNULIB_RAWMEMCHR@
+# if ! @HAVE_RAWMEMCHR@
+extern void *rawmemchr (void const *__s, int __c_in)
+  __attribute__ ((__pure__));
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef rawmemchr
+# define rawmemchr(a,b) \
+    (GL_LINK_WARNING ("rawmemchr is unportable - " \
+                      "use gnulib module rawmemchr for portability"), \
+     rawmemchr (a, b))
+#endif
+
 /* Copy SRC to DST, returning the address of the terminating '\0' in DST.  */
 #if @GNULIB_STPCPY@
 # if ! @HAVE_STPCPY@
@@ -151,7 +171,11 @@ extern char *strchrnul (char const *__s, int __c_in)
 
 /* Duplicate S, returning an identical malloc'd string.  */
 #if @GNULIB_STRDUP@
-# if ! @HAVE_DECL_STRDUP@ && ! defined strdup
+# if @REPLACE_STRDUP@
+#  undef strdup
+#  define strdup rpl_strdup
+# endif
+# if !(@HAVE_DECL_STRDUP@ || defined strdup) || @REPLACE_STRDUP@
 extern char *strdup (char const *__s);
 # endif
 #elif defined GNULIB_POSIXCHECK
@@ -562,6 +586,18 @@ extern char *strsignal (int __sig);
      strsignal (a))
 #endif
 
+#if @GNULIB_STRVERSCMP@
+# if !@HAVE_STRVERSCMP@
+extern int strverscmp (const char *, const char *);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef strverscmp
+# define strverscmp(a, b) \
+    (GL_LINK_WARNING ("strverscmp is unportable - " \
+                      "use gnulib module strverscmp for portability"), \
+     strverscmp (a, b))
+#endif
+
 
 #ifdef __cplusplus
 }
index 9511752107b5721fab1f7b40418515a64bdf96a2..33070df0a3ae01f4a01bdaa785bf411d32334ad3 100644 (file)
@@ -2,7 +2,7 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A substitute <strings.h>.
 
-   Copyright (C) 2007 Free Software Foundation, Inc.
+   Copyright (C) 2007-2008 Free Software Foundation, Inc.
 
    This 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 _GL_STRINGS_H
 
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
 /* The include_next requires a split double-inclusion guard.  */
 #@INCLUDE_NEXT@ @NEXT_STRINGS_H@
 
index e28412f7b1ee8ac8148693436062512aceb5261c..74a8d51585ea37995c44d337bfb63409631f4179 100644 (file)
@@ -1,7 +1,7 @@
 /* -*- buffer-read-only: t -*- vi: set ro: */
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Provide a more complete sys/stat header file.
-   Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2005-2008 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    incomplete.  It is intended to provide definitions and prototypes
    needed by an application.  Start with what the system provides.  */
 
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
+#if defined __need_system_sys_stat_h
+/* Special invocation convention.  */
+
+#@INCLUDE_NEXT@ @NEXT_SYS_STAT_H@
+
+#else
+/* Normal invocation convention.  */
+
 #ifndef _GL_SYS_STAT_H
 
 /* The include_next requires a split double-inclusion guard.  */
 #ifndef _GL_SYS_STAT_H
 #define _GL_SYS_STAT_H
 
+/* The definition of GL_LINK_WARNING is copied here.  */
+
+/* Before doing "#define mkdir rpl_mkdir" below, we need to include all
+   headers that may declare mkdir().  */
+#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+# include <io.h>
+#endif
+
 #ifndef S_IFMT
 # define S_IFMT 0170000
 #endif
 # define S_IRWXUGO (S_IRWXU | S_IRWXG | S_IRWXO)
 #endif
 
+#if @GNULIB_LSTAT@
+# if ! @HAVE_LSTAT@
 /* mingw does not support symlinks, therefore it does not have lstat.  But
    without links, stat does just fine.  */
-#if ! @HAVE_LSTAT@
-# define lstat stat
+#  define lstat stat
+# elif @REPLACE_LSTAT@
+#  undef lstat
+#  define lstat rpl_lstat
+extern int rpl_lstat (const char *name, struct stat *buf);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef lstat
+# define lstat(p,b)                                                    \
+  (GL_LINK_WARNING ("lstat is unportable - "                           \
+                   "use gnulib module lstat for portability"),         \
+   lstat (p, b))
 #endif
 
+
+#if @REPLACE_MKDIR@
+# undef mkdir
+# define mkdir rpl_mkdir
+extern int mkdir (char const *name, mode_t mode);
+#else
 /* mingw's _mkdir() function has 1 argument, but we pass 2 arguments.
    Additionally, it declares _mkdir (and depending on compile flags, an
-   alias mkdir), only in the nonstandard io.h.  */
-#if ! @HAVE_DECL_MKDIR@ && @HAVE_IO_H@
-# include <io.h>
+   alias mkdir), only in the nonstandard <io.h>, which is included above.  */
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
 
 static inline int
 rpl_mkdir (char const *name, mode_t mode)
@@ -275,8 +312,37 @@ rpl_mkdir (char const *name, mode_t mode)
   return _mkdir (name);
 }
 
-# define mkdir rpl_mkdir
+#  define mkdir rpl_mkdir
+# endif
+#endif
+
+
+/* Declare BSD extensions.  */
+
+#if @GNULIB_LCHMOD@
+/* Change the mode of FILENAME to MODE, without dereferencing it if FILENAME
+   denotes a symbolic link.  */
+# if !@HAVE_LCHMOD@
+/* The lchmod replacement follows symbolic links.  Callers should take
+   this into account; lchmod should be applied only to arguments that
+   are known to not be symbolic links.  On hosts that lack lchmod,
+   this can lead to race conditions between the check and the
+   invocation of lchmod, but we know of no workarounds that are
+   reliable in general.  You might try requesting support for lchmod
+   from your operating system supplier.  */
+#  define lchmod chmod
+# endif
+# if 0 /* assume already declared */
+extern int lchmod (const char *filename, mode_t mode);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef lchmod
+# define lchmod(f,m) \
+    (GL_LINK_WARNING ("lchmod is unportable - " \
+                      "use gnulib module lchmod for portability"), \
+     lchmod (f, m))
 #endif
 
 #endif /* _GL_SYS_STAT_H */
 #endif /* _GL_SYS_STAT_H */
+#endif
index 6426793d39a870a2f7cc0d5e0b5167ff3b6b5d0c..2a552e143cb54df8c09eb81bff3dc59a6c44e068 100644 (file)
@@ -2,7 +2,7 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Provide a more complete sys/time.h.
 
-   Copyright (C) 2007 Free Software Foundation, Inc.
+   Copyright (C) 2007-2008 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 /* Written by Paul Eggert.  */
 
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
 #if defined _GL_SYS_TIME_H
 
 /* Simply delegate to the system's header, without adding anything.  */
index 895d31e94c078a234f779d676a0583a6d615175d..73da88db72925db9bddd03f01e647566c3537e32 100644 (file)
@@ -1,5 +1,5 @@
 /* exit() exit codes for some BSD system programs.
-   Copyright (C) 2003, 2006-2007 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2006-2008 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 #if @HAVE_SYSEXITS_H@
 
+# if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+# endif
+
 /* IRIX 6.5 has an <unistd.h> that defines a macro EX_OK with a nonzero
    value.  Override it.  See
    <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00361.html>  */
index f506b6907b4a3a4db032d3f5e22df90959290f74..4eb9cc570988356d301e794b2d215d03836945b3 100644 (file)
@@ -2,7 +2,7 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A more-standard <time.h>.
 
-   Copyright (C) 2007 Free Software Foundation, Inc.
+   Copyright (C) 2007-2008 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    along with this program; if not, write to the Free Software Foundation,
    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
 /* 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
index 0d8aeebdb914aba0bd8702ac87a5850bd8b51d06..768d4e62bfc9aba563bb1c0378e01947ac3ed923 100644 (file)
@@ -1,7 +1,7 @@
 /* -*- buffer-read-only: t -*- vi: set ro: */
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Substitute for and wrapper around <unistd.h>.
-   Copyright (C) 2004-2008 Free Software Foundation, Inc.
+   Copyright (C) 2003-2008 Free Software Foundation, Inc.
 
    This 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 _GL_UNISTD_H
 
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
 /* The include_next requires a split double-inclusion guard.  */
 #if @HAVE_UNISTD_H@
 # @INCLUDE_NEXT@ @NEXT_UNISTD_H@
 /* mingw fails to declare _exit in <unistd.h>.  */
 #include <stdlib.h>
 
+#if @GNULIB_WRITE@ && @REPLACE_WRITE@ && @GNULIB_UNISTD_H_SIGPIPE@
+/* Get ssize_t.  */
+# include <sys/types.h>
+#endif
+
+#if @GNULIB_GETHOSTNAME@
+/* Get all possible declarations of gethostname().  */
+# if @UNISTD_H_HAVE_WINSOCK2_H@
+#  include <winsock2.h>
+#  if !defined _GL_SYS_SOCKET_H
+#   undef socket
+#   define socket              socket_used_without_including_sys_socket_h
+#   undef connect
+#   define connect             connect_used_without_including_sys_socket_h
+#   undef accept
+#   define accept              accept_used_without_including_sys_socket_h
+#   undef bind
+#   define bind                        bind_used_without_including_sys_socket_h
+#   undef getpeername
+#   define getpeername         getpeername_used_without_including_sys_socket_h
+#   undef getsockname
+#   define getsockname         getsockname_used_without_including_sys_socket_h
+#   undef getsockopt
+#   define getsockopt          getsockopt_used_without_including_sys_socket_h
+#   undef listen
+#   define listen              listen_used_without_including_sys_socket_h
+#   undef recv
+#   define recv                        recv_used_without_including_sys_socket_h
+#   undef send
+#   define send                        send_used_without_including_sys_socket_h
+#   undef recvfrom
+#   define recvfrom            recvfrom_used_without_including_sys_socket_h
+#   undef sendto
+#   define sendto              sendto_used_without_including_sys_socket_h
+#   undef setsockopt
+#   define setsockopt          setsockopt_used_without_including_sys_socket_h
+#   undef shutdown
+#   define shutdown            shutdown_used_without_including_sys_socket_h
+#  endif
+#  if !defined _GL_SYS_SELECT_H
+#   undef select
+#   define select              select_used_without_including_sys_select_h
+#  endif
+# endif
+#endif
+
 /* The definition of GL_LINK_WARNING is copied here.  */
 
 
@@ -70,6 +120,29 @@ extern int chown (const char *file, uid_t uid, gid_t gid);
 #endif
 
 
+#if @GNULIB_CLOSE@
+# if @UNISTD_H_HAVE_WINSOCK2_H@
+/* Need a gnulib internal function.  */
+#  define HAVE__GL_CLOSE_FD_MAYBE_SOCKET 1
+# endif
+# if @REPLACE_CLOSE@
+/* Automatically included by modules that need a replacement for close.  */
+#  undef close
+#  define close rpl_close
+extern int close (int);
+# endif
+#elif @UNISTD_H_HAVE_WINSOCK2_H@
+# undef close
+# define close close_used_without_requesting_gnulib_module_close
+#elif defined GNULIB_POSIXCHECK
+# undef close
+# define close(f) \
+    (GL_LINK_WARNING ("close does not portably work on sockets - " \
+                      "use gnulib module close for portability"), \
+     close (f))
+#endif
+
+
 #if @GNULIB_DUP2@
 # if !@HAVE_DUP2@
 /* Copy the file descriptor OLDFD into file descriptor NEWFD.  Do nothing if
@@ -108,6 +181,21 @@ extern char **environ;
 #endif
 
 
+#if @GNULIB_EUIDACCESS@
+# if !@HAVE_EUIDACCESS@
+/* Like access(), except that is uses the effective user id and group id of
+   the current process.  */
+extern int euidaccess (const char *filename, int mode);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef euidaccess
+# define euidaccess(f,m) \
+    (GL_LINK_WARNING ("euidaccess is unportable - " \
+                      "use gnulib module euidaccess for portability"), \
+     euidaccess (f, m))
+#endif
+
+
 #if @GNULIB_FCHDIR@
 # if @REPLACE_FCHDIR@
 
@@ -118,8 +206,6 @@ extern char **environ;
    <http://www.opengroup.org/susv3xsh/fchdir.html>.  */
 extern int fchdir (int /*fd*/);
 
-#  define close rpl_close
-extern int close (int);
 #  define dup rpl_dup
 extern int dup (int);
 #  define dup2 rpl_dup2
@@ -135,6 +221,23 @@ extern int dup2 (int, int);
 #endif
 
 
+#if @GNULIB_FSYNC@
+/* Synchronize changes to a file.
+   Return 0 if successful, otherwise -1 and errno set.
+   See POSIX:2001 specification
+   <http://www.opengroup.org/susv3xsh/fsync.html>.  */
+# if !@HAVE_FSYNC@
+extern int fsync (int fd);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef fsync
+# define fsync(fd) \
+    (GL_LINK_WARNING ("fsync is unportable - " \
+                      "use gnulib module fsync for portability"), \
+     fsync (fd))
+#endif
+
+
 #if @GNULIB_FTRUNCATE@
 # if !@HAVE_FTRUNCATE@
 /* Change the size of the file to which FD is opened to become equal to LENGTH.
@@ -179,6 +282,70 @@ extern char * getcwd (char *buf, size_t size);
 #endif
 
 
+#if @GNULIB_GETDOMAINNAME@
+/* Return the NIS domain name of the machine.
+   WARNING! The NIS domain name is unrelated to the fully qualified host name
+            of the machine.  It is also unrelated to email addresses.
+   WARNING! The NIS domain name is usually the empty string or "(none)" when
+            not using NIS.
+
+   Put up to LEN bytes of the NIS domain name into NAME.
+   Null terminate it if the name is shorter than LEN.
+   If the NIS domain name is longer than LEN, set errno = EINVAL and return -1.
+   Return 0 if successful, otherwise set errno and return -1.  */
+# if !@HAVE_GETDOMAINNAME@
+extern int getdomainname(char *name, size_t len);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef getdomainname
+# define getdomainname(n,l) \
+    (GL_LINK_WARNING ("getdomainname is unportable - " \
+                      "use gnulib module getdomainname for portability"), \
+     getdomainname (n, l))
+#endif
+
+
+#if @GNULIB_GETDTABLESIZE@
+# if !@HAVE_GETDTABLESIZE@
+/* Return the maximum number of file descriptors in the current process.  */
+extern int getdtablesize (void);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef getdtablesize
+# define getdtablesize() \
+    (GL_LINK_WARNING ("getdtablesize is unportable - " \
+                      "use gnulib module getdtablesize for portability"), \
+     getdtablesize ())
+#endif
+
+
+#if @GNULIB_GETHOSTNAME@
+/* Return the standard host name of the machine.
+   WARNING! The host name may or may not be fully qualified.
+
+   Put up to LEN bytes of the host name into NAME.
+   Null terminate it if the name is shorter than LEN.
+   If the host name is longer than LEN, set errno = EINVAL and return -1.
+   Return 0 if successful, otherwise set errno and return -1.  */
+# if @UNISTD_H_HAVE_WINSOCK2_H@
+#  undef gethostname
+#  define gethostname rpl_gethostname
+# endif
+# if @UNISTD_H_HAVE_WINSOCK2_H@ || !@HAVE_GETHOSTNAME@
+extern int gethostname(char *name, size_t len);
+# endif
+#elif @UNISTD_H_HAVE_WINSOCK2_H@
+# undef gethostname
+# define gethostname gethostname_used_without_requesting_gnulib_module_gethostname
+#elif defined GNULIB_POSIXCHECK
+# undef gethostname
+# define gethostname(n,l) \
+    (GL_LINK_WARNING ("gethostname is unportable - " \
+                      "use gnulib module gethostname for portability"), \
+     gethostname (n, l))
+#endif
+
+
 #if @GNULIB_GETLOGIN_R@
 /* Copies the user's login name to NAME.
    The array pointed to by NAME has room for SIZE bytes.
@@ -260,6 +427,36 @@ extern int getpagesize (void);
 #endif
 
 
+#if @GNULIB_GETUSERSHELL@
+# if !@HAVE_GETUSERSHELL@
+/* Return the next valid login shell on the system, or NULL when the end of
+   the list has been reached.  */
+extern char *getusershell (void);
+/* Rewind to pointer that is advanced at each getusershell() call.  */
+extern void setusershell (void);
+/* Free the pointer that is advanced at each getusershell() call and
+   associated resources.  */
+extern void endusershell (void);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef getusershell
+# define getusershell() \
+    (GL_LINK_WARNING ("getusershell is unportable - " \
+                      "use gnulib module getusershell for portability"), \
+     getusershell ())
+# undef setusershell
+# define setusershell() \
+    (GL_LINK_WARNING ("setusershell is unportable - " \
+                      "use gnulib module getusershell for portability"), \
+     setusershell ())
+# undef endusershell
+# define endusershell() \
+    (GL_LINK_WARNING ("endusershell is unportable - " \
+                      "use gnulib module getusershell for portability"), \
+     endusershell ())
+#endif
+
+
 #if @GNULIB_LCHOWN@
 # if @REPLACE_LCHOWN@
 /* Change the owner of FILE to UID (if UID is not -1) and the group of FILE
@@ -333,6 +530,22 @@ extern unsigned int sleep (unsigned int n);
 #endif
 
 
+#if @GNULIB_WRITE@ && @REPLACE_WRITE@ && @GNULIB_UNISTD_H_SIGPIPE@
+/* Write up to COUNT bytes starting at BUF to file descriptor FD.
+   See the POSIX:2001 specification
+   <http://www.opengroup.org/susv3xsh/write.html>.  */
+# undef write
+# define write rpl_write
+extern ssize_t write (int fd, const void *buf, size_t count);
+#endif
+
+
+#ifdef FCHDIR_REPLACEMENT
+/* gnulib internal function.  */
+extern void _gl_unregister_fd (int fd);
+#endif
+
+
 #ifdef __cplusplus
 }
 #endif
index 3e0d30a30cca858261da49ba9a0a16599cda99c2..29aaf2a86e571400c8598f128ff406b42df453c6 100644 (file)
@@ -1,7 +1,7 @@
 /* -*- buffer-read-only: t -*- vi: set ro: */
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* Determine display width of Unicode character.
-   Copyright (C) 2001-2002, 2006-2007 Free Software Foundation, Inc.
+   Copyright (C) 2001-2002, 2006-2008 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
@@ -38,7 +38,7 @@ static const unsigned char nonspacing_table_data[22*64] = {
   /* 0x0000-0x01ff */
   0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, /* 0x0000-0x003f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, /* 0x0040-0x007f */
-  0xff, 0xff, 0xff, 0xff, 0x00, 0x08, 0x00, 0x00, /* 0x0080-0x00bf */
+  0xff, 0xff, 0xff, 0xff, 0x00, 0x20, 0x00, 0x00, /* 0x0080-0x00bf */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x00c0-0x00ff */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0100-0x013f */
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0x0140-0x017f */
index e12821962c6927bca06849810718a629b8c2b98c..708de10989d1e703250a841d397cb2b736c5c2f4 100644 (file)
@@ -26,6 +26,7 @@
 
 #include <errno.h>
 #include <fcntl.h>
+#include <sys/stat.h>
 #include <sys/time.h>
 #include <unistd.h>
 
@@ -94,89 +95,127 @@ gl_futimens (int fd ATTRIBUTE_UNUSED,
     fsync (fd);
 #endif
 
-  /* There's currently no interface to set file timestamps with
-     nanosecond resolution, so do the best we can, discarding any
-     fractional part of the timestamp.  */
-#if HAVE_FUTIMESAT || HAVE_WORKING_UTIMES
-  struct timeval timeval[2];
-  struct timeval const *t;
-  if (timespec)
+  /* POSIX 200x added two interfaces to set file timestamps with
+     nanosecond resolution.  We provide a fallback for ENOSYS (for
+     example, compiling against Linux 2.6.25 kernel headers and glibc
+     2.7, but running on Linux 2.6.18 kernel).  */
+#if HAVE_UTIMENSAT
+  if (fd < 0)
     {
-      timeval[0].tv_sec = timespec[0].tv_sec;
-      timeval[0].tv_usec = timespec[0].tv_nsec / 1000;
-      timeval[1].tv_sec = timespec[1].tv_sec;
-      timeval[1].tv_usec = timespec[1].tv_nsec / 1000;
-      t = timeval;
+      int result = utimensat (AT_FDCWD, file, timespec, 0);
+# ifdef __linux__
+      /* Work around what might be a kernel bug:
+         http://bugzilla.redhat.com/442352
+         http://bugzilla.redhat.com/449910
+         It appears that utimensat can mistakenly return 280 rather
+         than -1 upon failure.
+         FIXME: remove in 2010 or whenever the offending kernels
+         are no longer in common use.  */
+      if (0 < result)
+        errno = ENOSYS;
+# endif
+
+      if (result == 0 || errno != ENOSYS)
+        return result;
     }
-  else
-    t = NULL;
+#endif
+#if HAVE_FUTIMENS
+  {
+    int result = futimens (fd, timespec);
+# ifdef __linux__
+    /* Work around the same bug as above.  */
+    if (0 < result)
+      errno = ENOSYS;
+# endif
+    if (result == 0 || errno != ENOSYS)
+      return result;
+  }
+#endif
 
+  /* The platform lacks an interface to set file timestamps with
+     nanosecond resolution, so do the best we can, discarding any
+     fractional part of the timestamp.  */
+  {
+#if HAVE_FUTIMESAT || HAVE_WORKING_UTIMES
+    struct timeval timeval[2];
+    struct timeval const *t;
+    if (timespec)
+      {
+       timeval[0].tv_sec = timespec[0].tv_sec;
+       timeval[0].tv_usec = timespec[0].tv_nsec / 1000;
+       timeval[1].tv_sec = timespec[1].tv_sec;
+       timeval[1].tv_usec = timespec[1].tv_nsec / 1000;
+       t = timeval;
+      }
+    else
+      t = NULL;
 
-  if (fd < 0)
-    {
+    if (fd < 0)
+      {
 # if HAVE_FUTIMESAT
-      return futimesat (AT_FDCWD, file, t);
+       return futimesat (AT_FDCWD, file, t);
 # endif
-    }
-  else
-    {
-      /* If futimesat or futimes fails here, don't try to speed things
-        up by returning right away.  glibc can incorrectly fail with
-        errno == ENOENT if /proc isn't mounted.  Also, Mandrake 10.0
-        in high security mode doesn't allow ordinary users to read
-        /proc/self, so glibc incorrectly fails with errno == EACCES.
-        If errno == EIO, EPERM, or EROFS, it's probably safe to fail
-        right away, but these cases are rare enough that they're not
-        worth optimizing, and who knows what other messed-up systems
-        are out there?  So play it safe and fall back on the code
-        below.  */
+      }
+    else
+      {
+       /* If futimesat or futimes fails here, don't try to speed things
+          up by returning right away.  glibc can incorrectly fail with
+          errno == ENOENT if /proc isn't mounted.  Also, Mandrake 10.0
+          in high security mode doesn't allow ordinary users to read
+          /proc/self, so glibc incorrectly fails with errno == EACCES.
+          If errno == EIO, EPERM, or EROFS, it's probably safe to fail
+          right away, but these cases are rare enough that they're not
+          worth optimizing, and who knows what other messed-up systems
+          are out there?  So play it safe and fall back on the code
+          below.  */
 # if HAVE_FUTIMESAT
-      if (futimesat (fd, NULL, t) == 0)
-       return 0;
+       if (futimesat (fd, NULL, t) == 0)
+         return 0;
 # elif HAVE_FUTIMES
-      if (futimes (fd, t) == 0)
-       return 0;
+       if (futimes (fd, t) == 0)
+         return 0;
 # endif
-    }
-#endif
+      }
+#endif /* HAVE_FUTIMESAT || HAVE_WORKING_UTIMES */
 
-  if (!file)
-    {
+    if (!file)
+      {
 #if ! (HAVE_FUTIMESAT || (HAVE_WORKING_UTIMES && HAVE_FUTIMES))
-      errno = ENOSYS;
+       errno = ENOSYS;
 #endif
 
-      /* Prefer EBADF to ENOSYS if both error numbers apply.  */
-      if (errno == ENOSYS)
-       {
-         int fd2 = dup (fd);
-         int dup_errno = errno;
-         if (0 <= fd2)
-           close (fd2);
-         errno = (fd2 < 0 && dup_errno == EBADF ? EBADF : ENOSYS);
-       }
-
-      return -1;
-    }
+       /* Prefer EBADF to ENOSYS if both error numbers apply.  */
+       if (errno == ENOSYS)
+         {
+           int fd2 = dup (fd);
+           int dup_errno = errno;
+           if (0 <= fd2)
+             close (fd2);
+           errno = (fd2 < 0 && dup_errno == EBADF ? EBADF : ENOSYS);
+         }
+
+       return -1;
+      }
 
 #if HAVE_WORKING_UTIMES
-  return utimes (file, t);
+    return utimes (file, t);
 #else
-  {
-    struct utimbuf utimbuf;
-    struct utimbuf const *ut;
-    if (timespec)
-      {
-       utimbuf.actime = timespec[0].tv_sec;
-       utimbuf.modtime = timespec[1].tv_sec;
-       ut = &utimbuf;
-      }
-    else
-      ut = NULL;
+    {
+      struct utimbuf utimbuf;
+      struct utimbuf const *ut;
+      if (timespec)
+       {
+         utimbuf.actime = timespec[0].tv_sec;
+         utimbuf.modtime = timespec[1].tv_sec;
+         ut = &utimbuf;
+       }
+      else
+       ut = NULL;
 
-    return utime (file, ut);
+      return utime (file, ut);
+    }
+#endif /* !HAVE_WORKING_UTIMES */
   }
-#endif
 }
 
 /* Set the access and modification time stamps of FILE to be
index 3bdb4e97a49e695dd14f77e4f66a1e0f12590071..426b7c51be2434b4214bc35b7f6ab25b421fdee0 100644 (file)
@@ -97,7 +97,7 @@
 
 #if (NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && !defined IN_LIBINTL
 # include <math.h>
-# include "isnand.h"
+# include "isnand-nolibm.h"
 #endif
 
 #if (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE) && !defined IN_LIBINTL
 
 #if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL
 # include <math.h>
-# include "isnand.h"
+# include "isnand-nolibm.h"
 # include "printf-frexp.h"
 #endif
 
@@ -179,10 +179,12 @@ local_wcslen (const wchar_t *s)
 # endif
 #else
   /* TCHAR_T is char.  */
-# /* Use snprintf if it exists under the name 'snprintf' or '_snprintf'.
+  /* Use snprintf if it exists under the name 'snprintf' or '_snprintf'.
      But don't use it on BeOS, since BeOS snprintf produces no output if the
-     size argument is >= 0x3000000.  */
-# if (HAVE_DECL__SNPRINTF || HAVE_SNPRINTF) && !defined __BEOS__
+     size argument is >= 0x3000000.
+     Also don't use it on Linux libc5, since there snprintf with size = 1
+     writes any output without bounds, like sprintf.  */
+# if (HAVE_DECL__SNPRINTF || HAVE_SNPRINTF) && !defined __BEOS__ && !(__GNU_LIBRARY__ == 1)
 #  define USE_SNPRINTF 1
 # else
 #  define USE_SNPRINTF 0
@@ -200,7 +202,22 @@ local_wcslen (const wchar_t *s)
 /* Here we need to call the native sprintf, not rpl_sprintf.  */
 #undef sprintf
 
-#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && !defined IN_LIBINTL
+/* GCC >= 4.0 with -Wall emits unjustified "... may be used uninitialized"
+   warnings in this file.  Use -Dlint to suppress them.  */
+#ifdef lint
+# define IF_LINT(Code) Code
+#else
+# define IF_LINT(Code) /* empty */
+#endif
+
+/* Avoid some warnings from "gcc -Wshadow".
+   This file doesn't use the exp() and remainder() functions.  */
+#undef exp
+#define exp expo
+#undef remainder
+#define remainder rem
+
+#if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE || NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && !defined IN_LIBINTL
 /* Determine the decimal-point character according to the current locale.  */
 # ifndef decimal_point_char_defined
 #  define decimal_point_char_defined 1
@@ -240,11 +257,11 @@ is_infinite_or_zero (double x)
 
 #if NEED_PRINTF_INFINITE_LONG_DOUBLE && !NEED_PRINTF_LONG_DOUBLE && !defined IN_LIBINTL
 
-/* Equivalent to !isfinite(x), but does not require libm.  */
+/* Equivalent to !isfinite(x) || x == 0, but does not require libm.  */
 static int
-is_infinitel (long double x)
+is_infinite_or_zerol (long double x)
 {
-  return isnanl (x) || (x + x == x && x != 0.0L);
+  return isnanl (x) || x + x == x;
 }
 
 #endif
@@ -1198,7 +1215,7 @@ scale10_round_decimal_decoded (int e, mpn_t m, void *memory, int n)
 static char *
 scale10_round_decimal_long_double (long double x, int n)
 {
-  int e;
+  int e IF_LINT(= 0);
   mpn_t m;
   void *memory = decode_long_double (x, &e, &m);
   return scale10_round_decimal_decoded (e, m, memory, n);
@@ -1216,7 +1233,7 @@ scale10_round_decimal_long_double (long double x, int n)
 static char *
 scale10_round_decimal_double (double x, int n)
 {
-  int e;
+  int e IF_LINT(= 0);
   mpn_t m;
   void *memory = decode_double (x, &e, &m);
   return scale10_round_decimal_decoded (e, m, memory, n);
@@ -1303,9 +1320,9 @@ floorlog10l (long double x)
     }
   /* Now 0.95 <= z <= 1.01.  */
   z = 1 - z;
-  /* log(1-z) = - z - z^2/2 - z^3/3 - z^4/4 - ...
+  /* log2(1-z) = 1/log(2) * (- z - z^2/2 - z^3/3 - z^4/4 - ...)
      Four terms are enough to get an approximation with error < 10^-7.  */
-  l -= z * (1.0 + z * (0.5 + z * ((1.0 / 3) + z * 0.25)));
+  l -= 1.4426950408889634074 * z * (1.0 + z * (0.5 + z * ((1.0 / 3) + z * 0.25)));
   /* Finally multiply with log(2)/log(10), yields an approximation for
      log10(x).  */
   l *= 0.30102999566398119523;
@@ -1394,9 +1411,9 @@ floorlog10 (double x)
     }
   /* Now 0.95 <= z <= 1.01.  */
   z = 1 - z;
-  /* log(1-z) = - z - z^2/2 - z^3/3 - z^4/4 - ...
+  /* log2(1-z) = 1/log(2) * (- z - z^2/2 - z^3/3 - z^4/4 - ...)
      Four terms are enough to get an approximation with error < 10^-7.  */
-  l -= z * (1.0 + z * (0.5 + z * ((1.0 / 3) + z * 0.25)));
+  l -= 1.4426950408889634074 * z * (1.0 + z * (0.5 + z * ((1.0 / 3) + z * 0.25)));
   /* Finally multiply with log(2)/log(10), yields an approximation for
      log10(x).  */
   l *= 0.30102999566398119523;
@@ -1406,6 +1423,20 @@ floorlog10 (double x)
 
 # endif
 
+/* Tests whether a string of digits consists of exactly PRECISION zeroes and
+   a single '1' digit.  */
+static int
+is_borderline (const char *digits, size_t precision)
+{
+  for (; precision > 0; precision--, digits++)
+    if (*digits != '0')
+      return 0;
+  if (*digits != '1')
+    return 0;
+  digits++;
+  return *digits == '\0';
+}
+
 #endif
 
 DCHAR_T *
@@ -2549,8 +2580,10 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
 # elif NEED_PRINTF_INFINITE_LONG_DOUBLE
                         || (a.arg[dp->arg_index].type == TYPE_LONGDOUBLE
                             /* Some systems produce wrong output for Inf,
-                               -Inf, and NaN.  */
-                            && is_infinitel (a.arg[dp->arg_index].a.a_longdouble))
+                               -Inf, and NaN.  Some systems in this category
+                               (IRIX 5.3) also do so for -0.0.  Therefore we
+                               treat this case here as well.  */
+                            && is_infinite_or_zerol (a.arg[dp->arg_index].a.a_longdouble))
 # endif
                        ))
              {
@@ -2632,9 +2665,11 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
 
                /* POSIX specifies the default precision to be 6 for %f, %F,
                   %e, %E, but not for %g, %G.  Implementations appear to use
-                  the same default precision also for %g, %G.  */
+                  the same default precision also for %g, %G.  But for %a, %A,
+                  the default precision is 0.  */
                if (!has_precision)
-                 precision = 6;
+                 if (!(dp->conversion == 'a' || dp->conversion == 'A'))
+                   precision = 6;
 
                /* Allocate a temporary buffer of sufficient size.  */
 # if NEED_PRINTF_DOUBLE && NEED_PRINTF_LONG_DOUBLE
@@ -2855,8 +2890,32 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                                          exponent += 1;
                                        adjusted = 1;
                                      }
-
                                    /* Here ndigits = precision+1.  */
+                                   if (is_borderline (digits, precision))
+                                     {
+                                       /* Maybe the exponent guess was too high
+                                          and a smaller exponent can be reached
+                                          by turning a 10...0 into 9...9x.  */
+                                       char *digits2 =
+                                         scale10_round_decimal_long_double (arg,
+                                                                            (int)precision - exponent + 1);
+                                       if (digits2 == NULL)
+                                         {
+                                           free (digits);
+                                           END_LONG_DOUBLE_ROUNDING ();
+                                           goto out_of_memory;
+                                         }
+                                       if (strlen (digits2) == precision + 1)
+                                         {
+                                           free (digits);
+                                           digits = digits2;
+                                           exponent -= 1;
+                                         }
+                                       else
+                                         free (digits2);
+                                     }
+                                   /* Here ndigits = precision+1.  */
+
                                    *p++ = digits[--ndigits];
                                    if ((flags & FLAG_ALT) || precision > 0)
                                      {
@@ -2968,6 +3027,30 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                                        adjusted = 1;
                                      }
                                    /* Here ndigits = precision.  */
+                                   if (is_borderline (digits, precision - 1))
+                                     {
+                                       /* Maybe the exponent guess was too high
+                                          and a smaller exponent can be reached
+                                          by turning a 10...0 into 9...9x.  */
+                                       char *digits2 =
+                                         scale10_round_decimal_long_double (arg,
+                                                                            (int)(precision - 1) - exponent + 1);
+                                       if (digits2 == NULL)
+                                         {
+                                           free (digits);
+                                           END_LONG_DOUBLE_ROUNDING ();
+                                           goto out_of_memory;
+                                         }
+                                       if (strlen (digits2) == precision)
+                                         {
+                                           free (digits);
+                                           digits = digits2;
+                                           exponent -= 1;
+                                         }
+                                       else
+                                         free (digits2);
+                                     }
+                                   /* Here ndigits = precision.  */
 
                                    /* Determine the number of trailing zeroes
                                       that have to be dropped.  */
@@ -3062,7 +3145,65 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                              abort ();
 #  else
                            /* arg is finite.  */
-                           abort ();
+                           if (!(arg == 0.0L))
+                             abort ();
+
+                           pad_ptr = p;
+
+                           if (dp->conversion == 'f' || dp->conversion == 'F')
+                             {
+                               *p++ = '0';
+                               if ((flags & FLAG_ALT) || precision > 0)
+                                 {
+                                   *p++ = decimal_point_char ();
+                                   for (; precision > 0; precision--)
+                                     *p++ = '0';
+                                 }
+                             }
+                           else if (dp->conversion == 'e' || dp->conversion == 'E')
+                             {
+                               *p++ = '0';
+                               if ((flags & FLAG_ALT) || precision > 0)
+                                 {
+                                   *p++ = decimal_point_char ();
+                                   for (; precision > 0; precision--)
+                                     *p++ = '0';
+                                 }
+                               *p++ = dp->conversion; /* 'e' or 'E' */
+                               *p++ = '+';
+                               *p++ = '0';
+                               *p++ = '0';
+                             }
+                           else if (dp->conversion == 'g' || dp->conversion == 'G')
+                             {
+                               *p++ = '0';
+                               if (flags & FLAG_ALT)
+                                 {
+                                   size_t ndigits =
+                                     (precision > 0 ? precision - 1 : 0);
+                                   *p++ = decimal_point_char ();
+                                   for (; ndigits > 0; --ndigits)
+                                     *p++ = '0';
+                                 }
+                             }
+                           else if (dp->conversion == 'a' || dp->conversion == 'A')
+                             {
+                               *p++ = '0';
+                               *p++ = dp->conversion - 'A' + 'X';
+                               pad_ptr = p;
+                               *p++ = '0';
+                               if ((flags & FLAG_ALT) || precision > 0)
+                                 {
+                                   *p++ = decimal_point_char ();
+                                   for (; precision > 0; precision--)
+                                     *p++ = '0';
+                                 }
+                               *p++ = dp->conversion - 'A' + 'P';
+                               *p++ = '+';
+                               *p++ = '0';
+                             }
+                           else
+                             abort ();
 #  endif
                          }
 
@@ -3208,8 +3349,31 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                                          exponent += 1;
                                        adjusted = 1;
                                      }
-
                                    /* Here ndigits = precision+1.  */
+                                   if (is_borderline (digits, precision))
+                                     {
+                                       /* Maybe the exponent guess was too high
+                                          and a smaller exponent can be reached
+                                          by turning a 10...0 into 9...9x.  */
+                                       char *digits2 =
+                                         scale10_round_decimal_double (arg,
+                                                                       (int)precision - exponent + 1);
+                                       if (digits2 == NULL)
+                                         {
+                                           free (digits);
+                                           goto out_of_memory;
+                                         }
+                                       if (strlen (digits2) == precision + 1)
+                                         {
+                                           free (digits);
+                                           digits = digits2;
+                                           exponent -= 1;
+                                         }
+                                       else
+                                         free (digits2);
+                                     }
+                                   /* Here ndigits = precision+1.  */
+
                                    *p++ = digits[--ndigits];
                                    if ((flags & FLAG_ALT) || precision > 0)
                                      {
@@ -3334,6 +3498,29 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                                        adjusted = 1;
                                      }
                                    /* Here ndigits = precision.  */
+                                   if (is_borderline (digits, precision - 1))
+                                     {
+                                       /* Maybe the exponent guess was too high
+                                          and a smaller exponent can be reached
+                                          by turning a 10...0 into 9...9x.  */
+                                       char *digits2 =
+                                         scale10_round_decimal_double (arg,
+                                                                       (int)(precision - 1) - exponent + 1);
+                                       if (digits2 == NULL)
+                                         {
+                                           free (digits);
+                                           goto out_of_memory;
+                                         }
+                                       if (strlen (digits2) == precision)
+                                         {
+                                           free (digits);
+                                           digits = digits2;
+                                           exponent -= 1;
+                                         }
+                                       else
+                                         free (digits2);
+                                     }
+                                   /* Here ndigits = precision.  */
 
                                    /* Determine the number of trailing zeroes
                                       that have to be dropped.  */
@@ -3585,7 +3772,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
 #endif
                TCHAR_T *fbp;
                unsigned int prefix_count;
-               int prefixes[2];
+               int prefixes[2] IF_LINT (= { 0 });
 #if !USE_SNPRINTF
                size_t tmp_length;
                TCHAR_T tmpbuf[700];
@@ -4053,7 +4240,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
                      abort ();
                    prefixes[prefix_count++] = a.arg[dp->width_arg_index].a.a_int;
                  }
-               if (dp->precision_arg_index != ARG_NONE)
+               if (!prec_ourselves && dp->precision_arg_index != ARG_NONE)
                  {
                    if (!(a.arg[dp->precision_arg_index].type == TYPE_INT))
                      abort ();
index 52d63f836658d495d9bb13a03da8af1f9c81c698..dcb87b9619493110aed62e43f6c8be11cab8a0f8 100644 (file)
@@ -2,7 +2,7 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
 
-   Copyright (C) 2007 Free Software Foundation, Inc.
+   Copyright (C) 2007-2008 Free Software Foundation, Inc.
 
    This 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 declaration of wcwidth().
  */
 
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
 #ifdef __need_mbstate_t
-/* Special invocation convention inside glibc header files.  */
+/* Special invocation convention inside uClibc header files.  */
 
 #@INCLUDE_NEXT@ @NEXT_WCHAR_H@
 
@@ -63,6 +67,12 @@ extern "C" {
 #endif
 
 
+/* Define wint_t.  (Also done in wctype.in.h.)  */
+#if !@HAVE_WINT_T@ && !defined wint_t
+# define wint_t int
+#endif
+
+
 /* Return the number of screen columns needed for WC.  */
 #if @GNULIB_WCWIDTH@
 # if @REPLACE_WCWIDTH@
index 1691bd8ec25b9fa852a2f895a4afa76ca1c95130..4a4f5a05b8065aa8bc21e5735bdbc942ab43b172 100644 (file)
@@ -2,7 +2,7 @@
 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
 /* A substitute for ISO C99 <wctype.h>, for platforms that lack it.
 
-   Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2006-2008 Free Software Foundation, Inc.
 
    This 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 _GL_WCTYPE_H
 
+#if __GNUC__ >= 3
+@PRAGMA_SYSTEM_HEADER@
+#endif
+
 #if @HAVE_WINT_T@
 /* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>.
    Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
 #ifndef _GL_WCTYPE_H
 #define _GL_WCTYPE_H
 
-#if @HAVE_WINT_T@
-typedef wint_t __wctype_wint_t;
-#else
-typedef int __wctype_wint_t;
+/* Define wint_t.  (Also done in wchar.in.h.)  */
+#if !@HAVE_WINT_T@ && !defined wint_t
+# define wint_t int
 #endif
 
 /* FreeBSD 4.4 to 4.11 has <wctype.h> but lacks the functions.
+   Linux libc5 has <wctype.h> and the functions but they are broken.
    Assume all 12 functions are implemented the same way, or not at all.  */
-#if ! @HAVE_ISWCNTRL@
+#if ! @HAVE_ISWCNTRL@ || @REPLACE_ISWCNTRL@
 
 /* IRIX 5.3 has macros but no functions, its isw* macros refer to an
    undefined variable _ctmp_ and to <ctype.h> macros like _P, and they
@@ -80,57 +84,73 @@ typedef int __wctype_wint_t;
 #  undef iswupper
 #  undef iswxdigit
 
+/* Linux libc5 has <wctype.h> and the functions but they are broken.  */
+#  if @REPLACE_ISWCNTRL@
+#   define iswalnum rpl_iswalnum
+#   define iswalpha rpl_iswalpha
+#   define iswblank rpl_iswblank
+#   define iswcntrl rpl_iswcntrl
+#   define iswdigit rpl_iswdigit
+#   define iswgraph rpl_iswgraph
+#   define iswlower rpl_iswlower
+#   define iswprint rpl_iswprint
+#   define iswpunct rpl_iswpunct
+#   define iswspace rpl_iswspace
+#   define iswupper rpl_iswupper
+#   define iswxdigit rpl_iswxdigit
+#  endif
+
 static inline int
-iswalnum (__wctype_wint_t wc)
+iswalnum (wint_t wc)
 {
   return ((wc >= '0' && wc <= '9')
          || ((wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'Z'));
 }
 
 static inline int
-iswalpha (__wctype_wint_t wc)
+iswalpha (wint_t wc)
 {
   return (wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'Z';
 }
 
 static inline int
-iswblank (__wctype_wint_t wc)
+iswblank (wint_t wc)
 {
   return wc == ' ' || wc == '\t';
 }
 
 static inline int
-iswcntrl (__wctype_wint_t wc)
+iswcntrl (wint_t wc)
 {
   return (wc & ~0x1f) == 0 || wc == 0x7f;
 }
 
 static inline int
-iswdigit (__wctype_wint_t wc)
+iswdigit (wint_t wc)
 {
   return wc >= '0' && wc <= '9';
 }
 
 static inline int
-iswgraph (__wctype_wint_t wc)
+iswgraph (wint_t wc)
 {
   return wc >= '!' && wc <= '~';
 }
 
 static inline int
-iswlower (__wctype_wint_t wc)
+iswlower (wint_t wc)
 {
   return wc >= 'a' && wc <= 'z';
 }
 
 static inline int
-iswprint (__wctype_wint_t wc)
+iswprint (wint_t wc)
 {
   return wc >= ' ' && wc <= '~';
 }
 
 static inline int
-iswpunct (__wctype_wint_t wc)
+iswpunct (wint_t wc)
 {
   return (wc >= '!' && wc <= '~'
          && !((wc >= '0' && wc <= '9')
@@ -138,20 +158,20 @@ iswpunct (__wctype_wint_t wc)
 }
 
 static inline int
-iswspace (__wctype_wint_t wc)
+iswspace (wint_t wc)
 {
   return (wc == ' ' || wc == '\t'
          || wc == '\n' || wc == '\v' || wc == '\f' || wc == '\r');
 }
 
 static inline int
-iswupper (__wctype_wint_t wc)
+iswupper (wint_t wc)
 {
   return wc >= 'A' && wc <= 'Z';
 }
 
 static inline int
-iswxdigit (__wctype_wint_t wc)
+iswxdigit (wint_t wc)
 {
   return ((wc >= '0' && wc <= '9')
          || ((wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'F'));
diff --git a/lib/write.c b/lib/write.c
new file mode 100644 (file)
index 0000000..250b5cc
--- /dev/null
@@ -0,0 +1,62 @@
+/* POSIX compatible write() function.
+   Copyright (C) 2008 Free Software Foundation, Inc.
+   Written by Bruno Haible <bruno@clisp.org>, 2008.
+
+   This 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/>.  */
+
+#include <config.h>
+
+/* Specification.  */
+#include <unistd.h>
+
+/* Replace this function only if module 'sigpipe' is requested.  */
+#if GNULIB_SIGPIPE
+
+/* On native Windows platforms, SIGPIPE does not exist.  When write() is
+   called on a pipe with no readers, WriteFile() fails with error
+   GetLastError() = ERROR_NO_DATA, and write() in consequence fails with
+   error EINVAL.  */
+
+# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
+
+#  include <errno.h>
+#  include <signal.h>
+#  include <io.h>
+
+#  define WIN32_LEAN_AND_MEAN  /* avoid including junk */
+#  include <windows.h>
+
+ssize_t
+rpl_write (int fd, const void *buf, size_t count)
+#undef write
+{
+  ssize_t ret = write (fd, buf, count);
+
+  if (ret < 0)
+    {
+      if (GetLastError () == ERROR_NO_DATA
+         && GetFileType (_get_osfhandle (fd)) == FILE_TYPE_PIPE)
+       {
+         /* Try to raise signal SIGPIPE.  */
+         raise (SIGPIPE);
+         /* If it is currently blocked or ignored, change errno from EINVAL
+            to EPIPE.  */
+         errno = EPIPE;
+       }
+    }
+  return ret;
+}
+
+# endif
+#endif
index 40dcf4bd54c325ccdb8d291963bcaf8fae15c53c..57a13e0afa9a835b4ee879912401930b272876cb 100644 (file)
@@ -37,6 +37,14 @@ extern "C" {
 #  define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__))
 # endif
 
+# ifndef ATTRIBUTE_MALLOC
+#  if __GNUC__ >= 3
+#   define ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
+#  else
+#   define ATTRIBUTE_MALLOC
+#  endif
+# endif
+
 /* This function is always triggered when memory is exhausted.
    It must be defined by the application, either explicitly
    or by using gnulib's xalloc-die module.  This is the
@@ -44,13 +52,13 @@ extern "C" {
    memory allocation failure.  */
 extern void xalloc_die (void) ATTRIBUTE_NORETURN;
 
-void *xmalloc (size_t s);
-void *xzalloc (size_t s);
-void *xcalloc (size_t n, size_t s);
+void *xmalloc (size_t s) ATTRIBUTE_MALLOC;
+void *xzalloc (size_t s) ATTRIBUTE_MALLOC;
+void *xcalloc (size_t n, size_t s) ATTRIBUTE_MALLOC;
 void *xrealloc (void *p, size_t s);
 void *x2realloc (void *p, size_t *pn);
-void *xmemdup (void const *p, size_t s);
-char *xstrdup (char const *str);
+void *xmemdup (void const *p, size_t s) ATTRIBUTE_MALLOC;
+char *xstrdup (char const *str) ATTRIBUTE_MALLOC;
 
 /* Return 1 if an array of N objects, each of size S, cannot exist due
    to size arithmetic overflow.  S must be positive and N must be
@@ -97,10 +105,10 @@ char *xstrdup (char const *str);
 # if HAVE_INLINE
 #  define static_inline static inline
 # else
-   void *xnmalloc (size_t n, size_t s);
+   void *xnmalloc (size_t n, size_t s) ATTRIBUTE_MALLOC;
    void *xnrealloc (void *p, size_t n, size_t s);
    void *x2nrealloc (void *p, size_t *pn, size_t s);
-   char *xcharalloc (size_t n);
+   char *xcharalloc (size_t n) ATTRIBUTE_MALLOC;
 # endif
 
 # ifdef static_inline
@@ -108,6 +116,7 @@ char *xstrdup (char const *str);
 /* Allocate an array of N objects, each with S bytes of memory,
    dynamically, with error checking.  S must be nonzero.  */
 
+static_inline void *xnmalloc (size_t n, size_t s) ATTRIBUTE_MALLOC;
 static_inline void *
 xnmalloc (size_t n, size_t s)
 {
@@ -219,6 +228,7 @@ x2nrealloc (void *p, size_t *pn, size_t s)
 /* Return a pointer to a new buffer of N bytes.  This is like xmalloc,
    except it returns char *.  */
 
+static_inline char *xcharalloc (size_t n) ATTRIBUTE_MALLOC;
 static_inline char *
 xcharalloc (size_t n)
 {
index 3a1234574316802700f5e4bec2319200c931fde3..89ecf17ad0851dc47687ac3e323e6743a2f942b3 100644 (file)
@@ -1,7 +1,7 @@
 /* xmalloc.c -- malloc with out of memory checking
 
    Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-   1999, 2000, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+   1999, 2000, 2002, 2003, 2004, 2005, 2006, 2008 Free Software Foundation,
    Inc.
 
    This program is free software: you can redistribute it and/or modify
diff --git a/m4/close.m4 b/m4/close.m4
new file mode 100644 (file)
index 0000000..fcc9fb1
--- /dev/null
@@ -0,0 +1,25 @@
+# close.m4 serial 2
+dnl Copyright (C) 2008 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_FUNC_CLOSE],
+[
+  m4_ifdef([gl_PREREQ_SYS_H_WINSOCK2], [
+    gl_PREREQ_SYS_H_WINSOCK2
+    if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then
+      gl_REPLACE_CLOSE
+    fi
+  ])
+])
+
+AC_DEFUN([gl_REPLACE_CLOSE],
+[
+  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+  if test $REPLACE_CLOSE != 1; then
+    AC_LIBOBJ([close])
+  fi
+  REPLACE_CLOSE=1
+  gl_REPLACE_FCLOSE
+])
diff --git a/m4/dirent_h.m4 b/m4/dirent_h.m4
new file mode 100644 (file)
index 0000000..a72fc36
--- /dev/null
@@ -0,0 +1,39 @@
+# dirent_h.m4 serial 2
+dnl Copyright (C) 2008 Free Software Foundation, Inc.
+dnl This file is free software; the Free 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 Bruno Haible.
+
+AC_DEFUN([gl_DIRENT_H],
+[
+  dnl Use AC_REQUIRE here, so that the default behavior below is expanded
+  dnl once only, before all statements that occur in other macros.
+  AC_REQUIRE([gl_DIRENT_H_DEFAULTS])
+
+  gl_CHECK_NEXT_HEADERS([dirent.h])
+])
+
+dnl Unconditionally enables the replacement of <dirent.h>.
+AC_DEFUN([gl_REPLACE_DIRENT_H],
+[
+  AC_REQUIRE([gl_DIRENT_H_DEFAULTS])
+  DIRENT_H='dirent.h'
+])
+
+AC_DEFUN([gl_DIRENT_MODULE_INDICATOR],
+[
+  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+  AC_REQUIRE([gl_DIRENT_H_DEFAULTS])
+  GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
+])
+
+AC_DEFUN([gl_DIRENT_H_DEFAULTS],
+[
+  AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) dnl for REPLACE_FCHDIR
+  GNULIB_DIRFD=0;    AC_SUBST([GNULIB_DIRFD])
+  dnl Assume proper GNU behavior unless another module says otherwise.
+  HAVE_DECL_DIRFD=1; AC_SUBST([HAVE_DECL_DIRFD])
+  DIRENT_H='';       AC_SUBST([DIRENT_H])
+])
index 125966b1a01bc42c4e562b0b30f84a6019e67efc..baab4dddadad246ee914801d05ff2dbc8a5f9f20 100644 (file)
@@ -1,8 +1,8 @@
-#serial 14   -*- Autoconf -*-
+#serial 15   -*- Autoconf -*-
 
 dnl Find out how to get the file descriptor associated with an open DIR*.
 
-# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software
+# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2008 Free Software
 # Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -12,13 +12,23 @@ dnl From Jim Meyering
 
 AC_DEFUN([gl_FUNC_DIRFD],
 [
+  AC_REQUIRE([gl_DIRENT_H_DEFAULTS])
+  gl_REPLACE_DIRENT_H
+
+  dnl Persuade glibc <dirent.h> to declare dirfd().
+  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+
   dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57.
   AC_REQUIRE([AC_PROG_CPP])
   AC_REQUIRE([AC_PROG_EGREP])
+
   AC_CHECK_FUNCS(dirfd)
   AC_CHECK_DECLS([dirfd], , ,
     [#include <sys/types.h>
      #include <dirent.h>])
+  if test $ac_cv_have_decl_dirfd = no; then
+    HAVE_DECL_DIRFD=0
+  fi
 
   AC_CACHE_CHECK([whether dirfd is a macro],
     gl_cv_func_dirfd_macro,
diff --git a/m4/eoverflow.m4 b/m4/eoverflow.m4
deleted file mode 100644 (file)
index 3bffd10..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-# eoverflow.m4 serial 2
-dnl Copyright (C) 2004, 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 Bruno Haible.
-
-# The EOVERFLOW errno value ought to be defined in <errno.h>, according to
-# POSIX.  But some systems (like AIX 3) don't define it, and some systems
-# (like OSF/1) define it when _XOPEN_SOURCE_EXTENDED is defined.
-
-# Define EOVERFLOW as a C macro and as a substituted macro in such a way that
-# 1. on all systems, after inclusion of <errno.h>, EOVERFLOW is usable,
-# 2. on systems where EOVERFLOW is defined elsewhere, we use the same numeric
-#    value.
-
-AC_DEFUN([gl_EOVERFLOW],
-[
-  AC_REQUIRE([AC_PROG_CC])dnl
-
-  AC_CACHE_CHECK([for EOVERFLOW], ac_cv_decl_EOVERFLOW, [
-    AC_EGREP_CPP(yes,[
-#include <errno.h>
-#ifdef EOVERFLOW
-yes
-#endif
-      ], have_eoverflow=1)
-    if test -n "$have_eoverflow"; then
-      dnl EOVERFLOW exists in <errno.h>. Don't need to define EOVERFLOW ourselves.
-      ac_cv_decl_EOVERFLOW=yes
-    else
-      AC_EGREP_CPP(yes,[
-#define _XOPEN_SOURCE_EXTENDED 1
-#include <errno.h>
-#ifdef EOVERFLOW
-yes
-#endif
-        ], have_eoverflow=1)
-      if test -n "$have_eoverflow"; then
-        dnl EOVERFLOW exists but is hidden.
-        dnl Define it to the same value.
-        AC_COMPUTE_INT([ac_cv_decl_EOVERFLOW], [EOVERFLOW], [
-#define _XOPEN_SOURCE_EXTENDED 1
-#include <errno.h>
-/* The following two lines are a workaround against an autoconf-2.52 bug.  */
-#include <stdio.h>
-#include <stdlib.h>
-])
-      else
-        dnl EOVERFLOW isn't defined by the system. Define EOVERFLOW ourselves, but
-        dnl don't define it as EINVAL, because snprintf() callers want to
-        dnl distinguish EINVAL and EOVERFLOW.
-        ac_cv_decl_EOVERFLOW=E2BIG
-      fi
-    fi
-  ])
-  if test "$ac_cv_decl_EOVERFLOW" != yes; then
-    AC_DEFINE_UNQUOTED([EOVERFLOW], [$ac_cv_decl_EOVERFLOW],
-                       [Define as good substitute value for EOVERFLOW.])
-    EOVERFLOW="$ac_cv_decl_EOVERFLOW"
-    AC_SUBST(EOVERFLOW)
-  fi
-])
-
-dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in.
-dnl Remove this when we can assume autoconf >= 2.61.
-m4_ifdef([AC_COMPUTE_INT], [], [
-  AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])])
-])
diff --git a/m4/errno_h.m4 b/m4/errno_h.m4
new file mode 100644 (file)
index 0000000..b5af078
--- /dev/null
@@ -0,0 +1,113 @@
+# errno_h.m4 serial 1
+dnl Copyright (C) 2004, 2006, 2008 Free Software Foundation, Inc.
+dnl This file is free software; the Free 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_HEADER_ERRNO_H],
+[
+  dnl Use AC_REQUIRE here, so that the default behavior below is expanded
+  dnl once only, before all statements that occur in other macros.
+  AC_REQUIRE([gl_HEADER_ERRNO_H_BODY])
+])
+
+AC_DEFUN([gl_HEADER_ERRNO_H_BODY],
+[
+  AC_REQUIRE([AC_PROG_CC])
+  AC_CACHE_CHECK([for complete errno.h], gl_cv_header_errno_h_complete, [
+    AC_EGREP_CPP(booboo,[
+#include <errno.h>
+#if !defined ENOMSG
+booboo
+#endif
+#if !defined EIDRM
+booboo
+#endif
+#if !defined ENOLINK
+booboo
+#endif
+#if !defined EPROTO
+booboo
+#endif
+#if !defined EMULTIHOP
+booboo
+#endif
+#if !defined EBADMSG
+booboo
+#endif
+#if !defined EOVERFLOW
+booboo
+#endif
+#if !defined ENOTSUP
+booboo
+#endif
+#if !defined ECANCELED
+booboo
+#endif
+      ],
+      [gl_cv_header_errno_h_complete=no],
+      [gl_cv_header_errno_h_complete=yes])
+  ])
+  if test $gl_cv_header_errno_h_complete = yes; then
+    ERRNO_H=''
+  else
+    gl_CHECK_NEXT_HEADERS([errno.h])
+    ERRNO_H='errno.h'
+  fi
+  AC_SUBST([ERRNO_H])
+  gl_REPLACE_ERRNO_VALUE([EMULTIHOP])
+  gl_REPLACE_ERRNO_VALUE([ENOLINK])
+  gl_REPLACE_ERRNO_VALUE([EOVERFLOW])
+])
+
+# Assuming $1 = EOVERFLOW.
+# The EOVERFLOW errno value ought to be defined in <errno.h>, according to
+# POSIX.  But some systems (like OpenBSD 4.0 or AIX 3) don't define it, and
+# some systems (like OSF/1) define it when _XOPEN_SOURCE_EXTENDED is defined.
+# Check for the value of EOVERFLOW.
+# Set the variables EOVERFLOW_HIDDEN and EOVERFLOW_VALUE.
+AC_DEFUN([gl_REPLACE_ERRNO_VALUE],
+[
+  if test -n "$ERRNO_H"; then
+    AC_CACHE_CHECK([for ]$1[ value], [gl_cv_header_errno_h_]$1, [
+      AC_EGREP_CPP(yes,[
+#include <errno.h>
+#ifdef ]$1[
+yes
+#endif
+      ],
+      [gl_cv_header_errno_h_]$1[=yes],
+      [gl_cv_header_errno_h_]$1[=no])
+      if test $gl_cv_header_errno_h_]$1[ = no; then
+        AC_EGREP_CPP(yes,[
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+#ifdef ]$1[
+yes
+#endif
+          ], [gl_cv_header_errno_h_]$1[=hidden])
+        if test $gl_cv_header_errno_h_]$1[ = hidden; then
+          dnl The macro exists but is hidden.
+          dnl Define it to the same value.
+          AC_COMPUTE_INT([gl_cv_header_errno_h_]$1, $1, [
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <errno.h>
+/* The following two lines are a workaround against an autoconf-2.52 bug.  */
+#include <stdio.h>
+#include <stdlib.h>
+])
+        fi
+      fi
+    ])
+    case $gl_cv_header_errno_h_]$1[ in
+      yes | no)
+        ]$1[_HIDDEN=0; ]$1[_VALUE=
+        ;;
+      *)
+        ]$1[_HIDDEN=1; ]$1[_VALUE="$gl_cv_header_errno_h_]$1["
+        ;;
+    esac
+    AC_SUBST($1[_HIDDEN])
+    AC_SUBST($1[_VALUE])
+  fi
+])
index bcbb3ceee2c30bd23176dcd1e55af74185b7ec1b..917af9480549ed985f0d4a1e84b9e19a8f2a83ee 100644 (file)
@@ -1,7 +1,7 @@
 # serial 5  -*- Autoconf -*-
 # Enable extensions on systems that normally disable them.
 
-# Copyright (C) 2003, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2006-2008 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.
@@ -61,9 +61,9 @@ AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
   AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__],
     [ac_cv_safe_to_define___extensions__],
     [AC_COMPILE_IFELSE(
-       [AC_LANG_PROGRAM([
+       [AC_LANG_PROGRAM([[
 #        define __EXTENSIONS__ 1
-         AC_INCLUDES_DEFAULT])],
+         ]AC_INCLUDES_DEFAULT])],
        [ac_cv_safe_to_define___extensions__=yes],
        [ac_cv_safe_to_define___extensions__=no])])
   test $ac_cv_safe_to_define___extensions__ = yes &&
index fd170d294470c0ae919b02c7c27d092b2a946d4f..1d3e5fe514046b7292e855a52dc673deacba7fd9 100644 (file)
@@ -1,5 +1,5 @@
-# fchdir.m4 serial 4
-dnl Copyright (C) 2006-2007 Free Software Foundation, Inc.
+# fchdir.m4 serial 6
+dnl Copyright (C) 2006-2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -7,6 +7,7 @@ dnl with or without modifications, as long as this notice is preserved.
 AC_DEFUN([gl_FUNC_FCHDIR],
 [
   AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+  AC_REQUIRE([gl_DIRENT_H_DEFAULTS])
   AC_CHECK_FUNCS_ONCE([fchdir])
   if test $ac_cv_func_fchdir = no; then
     REPLACE_FCHDIR=1
@@ -14,12 +15,10 @@ AC_DEFUN([gl_FUNC_FCHDIR],
     gl_PREREQ_FCHDIR
     AC_DEFINE([FCHDIR_REPLACEMENT], 1,
       [Define if gnulib's fchdir() replacement is used.])
-    gl_CHECK_NEXT_HEADERS([dirent.h])
-    DIRENT_H='dirent.h'
-  else
-    DIRENT_H=
+    gl_REPLACE_OPEN
+    gl_REPLACE_CLOSE
+    gl_REPLACE_DIRENT_H
   fi
-  AC_SUBST([DIRENT_H])
 ])
 
 # Prerequisites of lib/fchdir.c.
diff --git a/m4/fclose.m4 b/m4/fclose.m4
new file mode 100644 (file)
index 0000000..d10c104
--- /dev/null
@@ -0,0 +1,18 @@
+# fclose.m4 serial 1
+dnl Copyright (C) 2008 Free Software Foundation, Inc.
+dnl This file is free software; the Free 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_FCLOSE],
+[
+])
+
+AC_DEFUN([gl_REPLACE_FCLOSE],
+[
+  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
+  if test $REPLACE_FCLOSE != 1; then
+    AC_LIBOBJ([fclose])
+  fi
+  REPLACE_FCLOSE=1
+])
index a771b4377174ab8b76f2ad3dba91c66ca2a3853b..65d2dddf48d2b1fd29c194839723ce814666c2c2 100644 (file)
@@ -1,6 +1,6 @@
-#serial 12
+#serial 13
 
-# Copyright (C) 2000, 2001, 2004, 2005, 2006, 2007 Free Software
+# Copyright (C) 2000, 2001, 2004, 2005, 2006, 2007, 2008 Free Software
 # Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -53,6 +53,9 @@ AC_DEFUN([gl_FUNC_FPENDING],
            '# old glibc iostream?'                                       \
            'fp->_pptr - fp->_pbase'                                      \
                                                                          \
+           '# emx+gcc'                                                   \
+           'fp->_ptr - fp->_buffer'                                      \
+                                                                         \
            '# VMS'                                                       \
            '(*fp)->_ptr - (*fp)->_base'                                  \
                                                                          \
index d160329accde4bbb7da70c7f34037c3fde48ae1c..c335243e9929c3576683ee4b65ba5ed5c52f89c6 100644 (file)
@@ -1,13 +1,19 @@
-# getdate.m4 serial 12
-dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# getdate.m4 serial 13
+dnl Copyright (C) 2002-2006, 2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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 Define HAVE_COMPOUND_LITERALS if the C compiler supports compound literals
+dnl as in ISO C99.
+dnl Note that compound literals such as (struct s) { 3, 4 } can be used for
+dnl initialization of stack-allocated variables, but are not constant
+dnl expressions and therefore cannot be used as initializer for global or
+dnl static variables (even though gcc supports this in pre-C99 mode).
 AC_DEFUN([gl_C_COMPOUND_LITERALS],
 [
   AC_CACHE_CHECK([for compound literals], gl_cv_compound_literals,
-  [AC_TRY_COMPILE([struct s { int i, j; }; struct s s = (struct s) { 1, 2 };],
+  [AC_TRY_COMPILE([struct s { int i, j; };],
     [struct s t = (struct s) { 3, 4 };
      if (t.i != 0) return 0;],
     gl_cv_compound_literals=yes,
index 18b96bef85d547dc5cbe6279bc6ff5a80ffeea6f..7760f8279bd9b8df7ab5982781f656068454d5e6 100644 (file)
@@ -31,4 +31,5 @@ AC_DEFUN([gl_FUNC_GETDELIM],
 AC_DEFUN([gl_PREREQ_GETDELIM],
 [
   AC_CHECK_FUNCS([flockfile funlockfile])
+  AC_CHECK_DECLS([getc_unlocked])
 ])
index c0a73b2cb803aeb637f7f2db1b503e5e55b4da14..9b683c2febbd599f6a8351105b01ff4633996b33 100644 (file)
@@ -1,5 +1,5 @@
-# getopt.m4 serial 13
-dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# getopt.m4 serial 14
+dnl Copyright (C) 2002-2006, 2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -46,7 +46,7 @@ AC_DEFUN([gl_GETOPT_CHECK_HEADERS],
   if test -z "$GETOPT_H"; then
     AC_CACHE_CHECK([for working GNU getopt function], [gl_cv_func_gnu_getopt],
       [AC_RUN_IFELSE(
-       [AC_LANG_PROGRAM([#include <getopt.h>],
+       [AC_LANG_PROGRAM([[#include <getopt.h>]],
           [[
             char *myargv[3];
             myargv[0] = "conftest";
index 9336d726055452aa81a4e2ceee265ce08a0deffb..c73db14cc561a07766d919a0916d1e8309636191 100644 (file)
@@ -1,9 +1,38 @@
-# gnulib-common.m4 serial 3
-dnl Copyright (C) 2007 Free Software Foundation, Inc.
+# gnulib-common.m4 serial 6
+dnl Copyright (C) 2007-2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
+# gl_COMMON
+# is expanded unconditionally through gnulib-tool magic.
+AC_DEFUN([gl_COMMON], [
+  dnl Use AC_REQUIRE here, so that the code is expanded once only.
+  AC_REQUIRE([gl_COMMON_BODY])
+])
+AC_DEFUN([gl_COMMON_BODY], [
+  AH_VERBATIM([isoc99_inline],
+[/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports
+   the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of
+   earlier versions), but does not display it by setting __GNUC_STDC_INLINE__.
+   __APPLE__ && __MACH__ test for MacOS X.
+   __APPLE_CC__ tests for the Apple compiler and its version.
+   __STDC_VERSION__ tests for the C99 mode.  */
+#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__
+# define __GNUC_STDC_INLINE__ 1
+#endif])
+  AH_VERBATIM([unused_parameter],
+[/* Define as a marker that can be attached to function parameter declarations
+   for parameters that are not used.  This helps to reduce warnings, such as
+   from GCC -Wunused-parameter.  */
+#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
+# define _UNUSED_PARAMETER_ __attribute__ ((__unused__))
+#else
+# define _UNUSED_PARAMETER_
+#endif
+])
+])
+
 # gl_MODULE_INDICATOR([modulename])
 # defines a C macro indicating the presence of the given module.
 AC_DEFUN([gl_MODULE_INDICATOR],
@@ -12,6 +41,13 @@ AC_DEFUN([gl_MODULE_INDICATOR],
     [Define to 1 when using the gnulib module ]$1[.])
 ])
 
+# m4_foreach_w
+# is a backport of autoconf-2.59c's m4_foreach_w.
+# Remove this macro when we can assume autoconf >= 2.60.
+m4_ifndef([m4_foreach_w],
+  [m4_define([m4_foreach_w],
+    [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])])
+
 # AC_PROG_MKDIR_P
 # is a backport of autoconf-2.60's AC_PROG_MKDIR_P.
 # Remove this macro when we can assume autoconf >= 2.60.
index 1323a0b93d6e94d3aaf8be6673f20300d69dd244..6bcd83c2cde93613d2efa392639890167d24c8e8 100644 (file)
@@ -49,8 +49,10 @@ AC_DEFUN([gl_INIT],
   m4_pushdef([AC_LIBOBJ], m4_defn([gl_LIBOBJ]))
   m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gl_REPLACE_FUNCS]))
   m4_pushdef([AC_LIBSOURCES], m4_defn([gl_LIBSOURCES]))
+  m4_pushdef([gl_LIBSOURCES_LIST], [])
+  m4_pushdef([gl_LIBSOURCES_DIR], [])
+  gl_COMMON
   gl_source_base='.#bootmp/lib'
-  gl_EOVERFLOW
   gl_FUNC_ALLOCA
   gl_ARGMATCH
   gl_ARGP
@@ -59,21 +61,27 @@ AC_DEFUN([gl_INIT],
      AM_XGETTEXT_OPTION([--flag=argp_failure:4:c-format])])
   gl_BACKUPFILE
   gl_CANONICALIZE_LGPL
+  gl_MODULE_INDICATOR([canonicalize-lgpl])
   gl_FUNC_CHDIR_LONG
   gl_FUNC_CHOWN
   gl_UNISTD_MODULE_INDICATOR([chown])
   gl_CLOCK_TIME
+  gl_FUNC_CLOSE
+  gl_UNISTD_MODULE_INDICATOR([close])
   gl_CLOSE_STREAM
   gl_MODULE_INDICATOR([close-stream])
   gl_CLOSEOUT
   gl_CHECK_TYPE_STRUCT_DIRENT_D_INO
+  gl_DIRENT_H
   gl_FUNC_DIRFD
+  gl_DIRENT_MODULE_INDICATOR([dirfd])
   gl_DIRNAME
   gl_DOUBLE_SLASH_ROOT
   gl_FUNC_DUP2
   gl_UNISTD_MODULE_INDICATOR([dup2])
   gl_ENVIRON
   gl_UNISTD_MODULE_INDICATOR([environ])
+  gl_HEADER_ERRNO_H
   gl_ERROR
   m4_ifdef([AM_XGETTEXT_OPTION],
     [AM_XGETTEXT_OPTION([--flag=error:3:c-format])
@@ -82,6 +90,8 @@ AC_DEFUN([gl_INIT],
   gl_EXITFAIL
   gl_FUNC_FCHDIR
   gl_UNISTD_MODULE_INDICATOR([fchdir])
+  gl_FUNC_FCLOSE
+  gl_STDIO_MODULE_INDICATOR([fclose])
   gl_FCNTL_H
   gl_FCNTL_SAFER
   gl_MODULE_INDICATOR([fcntl-safer])
@@ -123,6 +133,7 @@ AC_DEFUN([gl_INIT],
   gl_FUNC_LSEEK
   gl_UNISTD_MODULE_INDICATOR([lseek])
   gl_FUNC_LSTAT
+  gl_SYS_STAT_MODULE_INDICATOR([lstat])
   AC_FUNC_MALLOC
   AC_DEFINE([GNULIB_MALLOC_GNU], 1, [Define to indicate the 'malloc' module.])
   gl_FUNC_MALLOC_POSIX
@@ -144,10 +155,15 @@ AC_DEFUN([gl_INIT],
   gl_MODECHANGE
   AC_FUNC_OBSTACK
   dnl Note: AC_FUNC_OBSTACK does AC_LIBSOURCES([obstack.h, obstack.c]).
+  gl_FUNC_OPEN
+  gl_MODULE_INDICATOR([open])
+  gl_FCNTL_MODULE_INDICATOR([open])
   gl_FUNC_OPENAT
   gl_PATHMAX
   gl_QUOTE
   gl_QUOTEARG
+  gl_FUNC_RAWMEMCHR
+  gl_STRING_MODULE_INDICATOR([rawmemchr])
   gl_FUNC_READLINK
   gl_UNISTD_MODULE_INDICATOR([readlink])
   gl_FUNC_REALLOC_POSIX
@@ -155,6 +171,7 @@ AC_DEFUN([gl_INIT],
   gl_REGEX
   gl_FUNC_RMDIR
   gl_FUNC_RPMATCH
+  gl_STDLIB_MODULE_INDICATOR([rpmatch])
   gl_SAFE_READ
   gl_SAFE_WRITE
   gl_SAVE_CWD
@@ -192,8 +209,10 @@ AC_DEFUN([gl_INIT],
   gl_INTTYPES_MODULE_INDICATOR([strtoimax])
   gl_FUNC_STRTOL
   gl_FUNC_STRTOLL
+  gl_STDLIB_MODULE_INDICATOR([strtoll])
   gl_FUNC_STRTOUL
   gl_FUNC_STRTOULL
+  gl_STDLIB_MODULE_INDICATOR([strtoull])
   gl_FUNC_STRTOUMAX
   gl_INTTYPES_MODULE_INDICATOR([strtoumax])
   gl_HEADER_SYS_STAT_H
@@ -220,11 +239,26 @@ AC_DEFUN([gl_INIT],
   gl_WCTYPE_H
   gl_FUNC_WCWIDTH
   gl_WCHAR_MODULE_INDICATOR([wcwidth])
+  gl_FUNC_WRITE
+  gl_UNISTD_MODULE_INDICATOR([write])
   gl_XALLOC
   gl_XGETCWD
   gl_XSIZE
   gl_XSTRNDUP
   gl_XSTRTOL
+  m4_ifval(gl_LIBSOURCES_LIST, [
+    m4_syscmd([test ! -d ]m4_defn([gl_LIBSOURCES_DIR])[ ||
+      for gl_file in ]gl_LIBSOURCES_LIST[ ; do
+        if test ! -r ]m4_defn([gl_LIBSOURCES_DIR])[/$gl_file ; then
+          echo "missing file ]m4_defn([gl_LIBSOURCES_DIR])[/$gl_file" >&2
+          exit 1
+        fi
+      done])dnl
+      m4_if(m4_sysval, [0], [],
+        [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])])
+  ])
+  m4_popdef([gl_LIBSOURCES_DIR])
+  m4_popdef([gl_LIBSOURCES_LIST])
   m4_popdef([AC_LIBSOURCES])
   m4_popdef([AC_REPLACE_FUNCS])
   m4_popdef([AC_LIBOBJ])
@@ -247,7 +281,23 @@ AC_DEFUN([gl_INIT],
   m4_pushdef([AC_LIBOBJ], m4_defn([gltests_LIBOBJ]))
   m4_pushdef([AC_REPLACE_FUNCS], m4_defn([gltests_REPLACE_FUNCS]))
   m4_pushdef([AC_LIBSOURCES], m4_defn([gltests_LIBSOURCES]))
+  m4_pushdef([gltests_LIBSOURCES_LIST], [])
+  m4_pushdef([gltests_LIBSOURCES_DIR], [])
+  gl_COMMON
   gl_source_base='.#bootmp/tests'
+  m4_ifval(gltests_LIBSOURCES_LIST, [
+    m4_syscmd([test ! -d ]m4_defn([gltests_LIBSOURCES_DIR])[ ||
+      for gl_file in ]gltests_LIBSOURCES_LIST[ ; do
+        if test ! -r ]m4_defn([gltests_LIBSOURCES_DIR])[/$gl_file ; then
+          echo "missing file ]m4_defn([gltests_LIBSOURCES_DIR])[/$gl_file" >&2
+          exit 1
+        fi
+      done])dnl
+      m4_if(m4_sysval, [0], [],
+        [AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])])
+  ])
+  m4_popdef([gltests_LIBSOURCES_DIR])
+  m4_popdef([gltests_LIBSOURCES_LIST])
   m4_popdef([AC_LIBSOURCES])
   m4_popdef([AC_REPLACE_FUNCS])
   m4_popdef([AC_LIBOBJ])
@@ -278,13 +328,6 @@ AC_DEFUN([gl_LIBOBJ], [
   gl_LIBOBJS="$gl_LIBOBJS $1.$ac_objext"
 ])
 
-# m4_foreach_w is provided by autoconf-2.59c and later.
-# This definition is to accommodate developers using versions
-# of autoconf older than that.
-m4_ifndef([m4_foreach_w],
-  [m4_define([m4_foreach_w],
-    [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])])
-
 # Like AC_REPLACE_FUNCS, except that the module name goes
 # into gl_LIBOBJS instead of into LIBOBJS.
 AC_DEFUN([gl_REPLACE_FUNCS], [
@@ -293,15 +336,14 @@ AC_DEFUN([gl_REPLACE_FUNCS], [
 ])
 
 # Like AC_LIBSOURCES, except the directory where the source file is
-# expected is derived from the gnulib-tool parametrization,
+# expected is derived from the gnulib-tool parameterization,
 # and alloca is special cased (for the alloca-opt module).
 # We could also entirely rely on EXTRA_lib..._SOURCES.
 AC_DEFUN([gl_LIBSOURCES], [
   m4_foreach([_gl_NAME], [$1], [
     m4_if(_gl_NAME, [alloca.c], [], [
-      m4_syscmd([test -r .#bootmp/lib/]_gl_NAME[ || test ! -d .#bootmp/lib])dnl
-      m4_if(m4_sysval, [0], [],
-        [AC_FATAL([missing .#bootmp/lib/]_gl_NAME)])
+      m4_define([gl_LIBSOURCES_DIR], [.#bootmp/lib])
+      m4_append([gl_LIBSOURCES_LIST], _gl_NAME, [ ])
     ])
   ])
 ])
@@ -313,13 +355,6 @@ AC_DEFUN([gltests_LIBOBJ], [
   gltests_LIBOBJS="$gltests_LIBOBJS $1.$ac_objext"
 ])
 
-# m4_foreach_w is provided by autoconf-2.59c and later.
-# This definition is to accommodate developers using versions
-# of autoconf older than that.
-m4_ifndef([m4_foreach_w],
-  [m4_define([m4_foreach_w],
-    [m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])])
-
 # Like AC_REPLACE_FUNCS, except that the module name goes
 # into gltests_LIBOBJS instead of into LIBOBJS.
 AC_DEFUN([gltests_REPLACE_FUNCS], [
@@ -328,15 +363,14 @@ AC_DEFUN([gltests_REPLACE_FUNCS], [
 ])
 
 # Like AC_LIBSOURCES, except the directory where the source file is
-# expected is derived from the gnulib-tool parametrization,
+# expected is derived from the gnulib-tool parameterization,
 # and alloca is special cased (for the alloca-opt module).
 # We could also entirely rely on EXTRA_lib..._SOURCES.
 AC_DEFUN([gltests_LIBSOURCES], [
   m4_foreach([_gl_NAME], [$1], [
     m4_if(_gl_NAME, [alloca.c], [], [
-      m4_syscmd([test -r .#bootmp/tests/]_gl_NAME[ || test ! -d .#bootmp/tests])dnl
-      m4_if(m4_sysval, [0], [],
-        [AC_FATAL([missing .#bootmp/tests/]_gl_NAME)])
+      m4_define([gltests_LIBSOURCES_DIR], [.#bootmp/tests])
+      m4_append([gltests_LIBSOURCES_LIST], _gl_NAME, [ ])
     ])
   ])
 ])
@@ -369,6 +403,8 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/backupfile.c
   lib/backupfile.h
   lib/basename.c
+  lib/c-ctype.c
+  lib/c-ctype.h
   lib/canonicalize-lgpl.c
   lib/canonicalize.h
   lib/chdir-long.c
@@ -376,17 +412,18 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/chown.c
   lib/close-stream.c
   lib/close-stream.h
+  lib/close.c
   lib/closeout.c
   lib/closeout.h
   lib/config.charset
   lib/creat-safer.c
   lib/dirent.in.h
   lib/dirfd.c
-  lib/dirfd.h
   lib/dirname.c
   lib/dirname.h
   lib/dup-safer.c
   lib/dup2.c
+  lib/errno.in.h
   lib/error.c
   lib/error.h
   lib/exclude.c
@@ -397,6 +434,7 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/fchmodat.c
   lib/fchown-stub.c
   lib/fchownat.c
+  lib/fclose.c
   lib/fcntl--.h
   lib/fcntl-safer.h
   lib/fcntl.in.h
@@ -441,7 +479,6 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/localcharset.h
   lib/lseek.c
   lib/lstat.c
-  lib/lstat.h
   lib/malloc.c
   lib/malloca.c
   lib/malloca.h
@@ -463,6 +500,7 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/obstack.h
   lib/offtostr.c
   lib/open-safer.c
+  lib/open.c
   lib/openat-die.c
   lib/openat-priv.h
   lib/openat-proc.c
@@ -478,6 +516,8 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/quote.h
   lib/quotearg.c
   lib/quotearg.h
+  lib/rawmemchr.c
+  lib/rawmemchr.valgrind
   lib/readlink.c
   lib/realloc.c
   lib/ref-add.sin
@@ -507,11 +547,14 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/stdarg.in.h
   lib/stdbool.in.h
   lib/stdint.in.h
+  lib/stdio-impl.h
+  lib/stdio-write.c
   lib/stdio.in.h
   lib/stdlib.in.h
   lib/stpcpy.c
   lib/strcasecmp.c
   lib/strchrnul.c
+  lib/strchrnul.valgrind
   lib/strdup.c
   lib/streq.h
   lib/strerror.c
@@ -563,6 +606,7 @@ AC_DEFUN([gl_FILE_LIST], [
   lib/wchar.in.h
   lib/wctype.in.h
   lib/wcwidth.c
+  lib/write.c
   lib/xalloc-die.c
   lib/xalloc.h
   lib/xgetcwd.c
@@ -586,9 +630,11 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/chown.m4
   m4/clock_time.m4
   m4/close-stream.m4
+  m4/close.m4
   m4/closeout.m4
   m4/codeset.m4
   m4/d-ino.m4
+  m4/dirent_h.m4
   m4/dirfd.m4
   m4/dirname.m4
   m4/dos.m4
@@ -596,12 +642,13 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/dup2.m4
   m4/eealloc.m4
   m4/environ.m4
-  m4/eoverflow.m4
+  m4/errno_h.m4
   m4/error.m4
   m4/exclude.m4
   m4/exitfail.m4
   m4/extensions.m4
   m4/fchdir.m4
+  m4/fclose.m4
   m4/fcntl-safer.m4
   m4/fcntl_h.m4
   m4/fileblocks.m4
@@ -664,13 +711,16 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/mktime.m4
   m4/modechange.m4
   m4/nls.m4
+  m4/open.m4
   m4/openat.m4
   m4/pathmax.m4
   m4/po.m4
   m4/printf-posix.m4
+  m4/printf.m4
   m4/progtest.m4
   m4/quote.m4
   m4/quotearg.m4
+  m4/rawmemchr.m4
   m4/readlink.m4
   m4/realloc.m4
   m4/regex.m4
@@ -711,6 +761,7 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/sys_time_h.m4
   m4/sysexits.m4
   m4/tempname.m4
+  m4/threadlib.m4
   m4/time_h.m4
   m4/time_r.m4
   m4/timespec.m4
@@ -733,6 +784,7 @@ AC_DEFUN([gl_FILE_LIST], [
   m4/wctype.m4
   m4/wcwidth.m4
   m4/wint_t.m4
+  m4/write.m4
   m4/xalloc.m4
   m4/xgetcwd.m4
   m4/xsize.m4
index 7c08e9319bf83cdb3ca6ee3b16ad679fc292fe3f..b6e4d3ae7a92c2e1a7c83b5325a31fadf25f8ff7 100644 (file)
@@ -1,4 +1,4 @@
-# include_next.m4 serial 5
+# include_next.m4 serial 8
 dnl Copyright (C) 2006-2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -6,6 +6,21 @@ dnl with or without modifications, as long as this notice is preserved.
 
 dnl From Paul Eggert and Derek Price.
 
+dnl Sets INCLUDE_NEXT and PRAGMA_SYSTEM_HEADER.
+dnl
+dnl INCLUDE_NEXT expands to 'include_next' if the compiler supports it, or to
+dnl 'include' otherwise.
+dnl
+dnl PRAGMA_SYSTEM_HEADER can be used in files that contain #include_next,
+dnl so as to avoid GCC warnings when the gcc option -pedantic is used.
+dnl '#pragma GCC system_header' has the same effect as if the file was found
+dnl through the include search path specified with '-isystem' options (as
+dnl opposed to the search path specified with '-I' options). Namely, gcc
+dnl does not warn about some things, and on some systems (Solaris and Interix)
+dnl __STDC__ evaluates to 0 instead of to 1. The latter is an undesired side
+dnl effect; we are therefore careful to use 'defined __STDC__' or '1' instead
+dnl of plain '__STDC__'.
+
 AC_DEFUN([gl_INCLUDE_NEXT],
 [
   AC_LANG_PREPROC_REQUIRE()
@@ -13,8 +28,12 @@ AC_DEFUN([gl_INCLUDE_NEXT],
     [gl_cv_have_include_next],
     [rm -rf conftestd1 conftestd2
      mkdir conftestd1 conftestd2
+     dnl The include of <stdio.h> is because IBM C 9.0 on AIX 6.1 supports
+     dnl include_next when used as first preprocessor directive in a file,
+     dnl but not when preceded by another include directive.
      cat <<EOF > conftestd1/conftest.h
 #define DEFINED_IN_CONFTESTD1
+#include <stdio.h>
 #include_next <conftest.h>
 #ifdef DEFINED_IN_CONFTESTD2
 int foo;
@@ -36,18 +55,17 @@ EOF
      CPPFLAGS="$save_CPPFLAGS"
      rm -rf conftestd1 conftestd2
     ])
+  PRAGMA_SYSTEM_HEADER=
   if test $gl_cv_have_include_next = yes; then
-
-    dnl FIXME: Remove HAVE_INCLUDE_NEXT and update everything that uses it
-    dnl to use @INCLUDE_NEXT@ instead.
-    AC_DEFINE([HAVE_INCLUDE_NEXT], 1,
-             [Define if your compiler supports the #include_next directive.])
-
     INCLUDE_NEXT=include_next
+    if test -n "$GCC"; then
+      PRAGMA_SYSTEM_HEADER='#pragma GCC system_header'
+    fi
   else
     INCLUDE_NEXT=include
   fi
   AC_SUBST([INCLUDE_NEXT])
+  AC_SUBST([PRAGMA_SYSTEM_HEADER])
 ])
 
 # gl_CHECK_NEXT_HEADERS(HEADER1 HEADER2 ...)
@@ -71,7 +89,7 @@ AC_DEFUN([gl_CHECK_NEXT_HEADERS],
   AC_REQUIRE([gl_INCLUDE_NEXT])
   AC_CHECK_HEADERS_ONCE([$1])
 
-  AC_FOREACH([gl_HEADER_NAME], [$1],
+  m4_foreach_w([gl_HEADER_NAME], [$1],
     [AS_VAR_PUSHDEF([gl_next_header],
                    [gl_cv_next_]m4_quote(m4_defn([gl_HEADER_NAME])))
      if test $gl_cv_have_include_next = yes; then
index b17cbdaa46192fcd80d8e6f383e1fbf23d70ae87..d84ceadd58c98dae5ad588deb9fa9a461f31a263 100644 (file)
@@ -1,5 +1,5 @@
-# inttypes.m4 serial 11
-dnl Copyright (C) 2006-2007 Free Software Foundation, Inc.
+# inttypes.m4 serial 12
+dnl Copyright (C) 2006-2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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,7 +32,7 @@ AC_DEFUN([gl_INTTYPES_H],
        && test "$ac_cv_have_decl_strtoimax" = yes \
        && test "$ac_cv_have_decl_strtoumax" = yes; then
        AC_COMPILE_IFELSE([
-        AC_LANG_PROGRAM([
+        AC_LANG_PROGRAM([[
 #include <stddef.h>
 #define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
 #define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
@@ -131,7 +131,7 @@ const char *l = /* implicit string concatenation */
   SCNoPTR SCNuPTR SCNxPTR
 #endif
   ;
-        ])],
+        ]])],
         [gl_cv_header_working_inttypes_h=yes])
      fi])
 
@@ -174,9 +174,9 @@ const char *l = /* implicit string concatenation */
           I64) gltype1='__int64';;
         esac
         AC_COMPILE_IFELSE(
-          [AC_LANG_PROGRAM([#include <stdint.h>
+          [AC_LANG_PROGRAM([[#include <stdint.h>
              extern intptr_t foo;
-             extern $gltype1 foo;])],
+             extern $gltype1 foo;]])],
           [PRIPTR_PREFIX='"'$glpfx'"'])
         test -n "$PRIPTR_PREFIX" && break
       done
index 16028951051a3f018fb40ba76efb3dad998692a5..7e07a424686c0a1400e2864cf9960a09dfead250 100644 (file)
@@ -1,4 +1,4 @@
-# lib-link.m4 serial 15 (gettext-0.18)
+# lib-link.m4 serial 16 (gettext-0.18)
 dnl Copyright (C) 2001-2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -194,6 +194,10 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
       else
         additional_includedir="$withval/include"
         additional_libdir="$withval/$acl_libdirstem"
+        if test "$acl_libdirstem2" != "$acl_libdirstem" \
+           && ! test -d "$withval/$acl_libdirstem"; then
+          additional_libdir="$withval/$acl_libdirstem2"
+        fi
       fi
     fi
 ])
@@ -352,7 +356,9 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
               dnl Linking with a shared library. We attempt to hardcode its
               dnl directory into the executable's runpath, unless it's the
               dnl standard /usr/lib.
-              if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
+              if test "$enable_rpath" = no \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
                 dnl No hardcoding is needed.
                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
               else
@@ -443,6 +449,11 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
                 LIB[]NAME[]_PREFIX="$basedir"
                 additional_includedir="$basedir/include"
                 ;;
+              */$acl_libdirstem2 | */$acl_libdirstem2/)
+                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+                LIB[]NAME[]_PREFIX="$basedir"
+                additional_includedir="$basedir/include"
+                ;;
             esac
             if test "X$additional_includedir" != "X"; then
               dnl Potentially add $additional_includedir to $INCNAME.
@@ -501,9 +512,11 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
                     dnl   3. if it's already present in $LDFLAGS or the already
                     dnl      constructed $LIBNAME,
                     dnl   4. if it doesn't exist as a directory.
-                    if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
+                    if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
                       haveit=
-                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
+                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
                         if test -n "$GCC"; then
                           case $host_os in
                             linux* | gnu* | k*bsd*-gnu) haveit=yes;;
@@ -684,7 +697,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
         if test -n "$next"; then
           dir="$next"
           dnl No need to hardcode the standard /usr/lib.
-          if test "X$dir" != "X/usr/$acl_libdirstem"; then
+          if test "X$dir" != "X/usr/$acl_libdirstem" \
+             && test "X$dir" != "X/usr/$acl_libdirstem2"; then
             rpathdirs="$rpathdirs $dir"
           fi
           next=
@@ -693,7 +707,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
             -L) next=yes ;;
             -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
                  dnl No need to hardcode the standard /usr/lib.
-                 if test "X$dir" != "X/usr/$acl_libdirstem"; then
+                 if test "X$dir" != "X/usr/$acl_libdirstem" \
+                    && test "X$dir" != "X/usr/$acl_libdirstem2"; then
                    rpathdirs="$rpathdirs $dir"
                  fi
                  next= ;;
index a8684e17e3abd5dc0c2d0bb27570fd091f5ebd65..3bdc0fc574abd05e85a4f380131fb0f5bb363d80 100644 (file)
@@ -1,5 +1,5 @@
-# lib-prefix.m4 serial 5 (gettext-0.15)
-dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
+# lib-prefix.m4 serial 6 (gettext-0.18)
+dnl Copyright (C) 2001-2005, 2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -153,33 +153,69 @@ AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
   prefix="$acl_save_prefix"
 ])
 
-dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing
-dnl the basename of the libdir, either "lib" or "lib64".
+dnl AC_LIB_PREPARE_MULTILIB creates
+dnl - a variable acl_libdirstem, containing the basename of the libdir, either
+dnl   "lib" or "lib64" or "lib/64",
+dnl - a variable acl_libdirstem2, as a secondary possible value for
+dnl   acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
+dnl   "lib/amd64".
 AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
 [
-  dnl There is no formal standard regarding lib and lib64. The current
-  dnl practice is that on a system supporting 32-bit and 64-bit instruction
-  dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit
-  dnl libraries go under $prefix/lib. We determine the compiler's default
-  dnl mode by looking at the compiler's library search path. If at least
-  dnl of its elements ends in /lib64 or points to a directory whose absolute
-  dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the
-  dnl default, namely "lib".
+  dnl There is no formal standard regarding lib and lib64.
+  dnl On glibc systems, the current practice is that on a system supporting
+  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+  dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
+  dnl the compiler's default mode by looking at the compiler's library search
+  dnl path. If at least one of its elements ends in /lib64 or points to a
+  dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
+  dnl Otherwise we use the default, namely "lib".
+  dnl On Solaris systems, the current practice is that on a system supporting
+  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+  dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
+  dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
+  AC_REQUIRE([AC_CANONICAL_HOST])
   acl_libdirstem=lib
-  searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
-  if test -n "$searchpath"; then
-    acl_save_IFS="${IFS=       }"; IFS=":"
-    for searchdir in $searchpath; do
-      if test -d "$searchdir"; then
-        case "$searchdir" in
-          */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
-          *) searchdir=`cd "$searchdir" && pwd`
-             case "$searchdir" in
-               */lib64 ) acl_libdirstem=lib64 ;;
-             esac ;;
+  acl_libdirstem2=
+  case "$host_os" in
+    solaris*)
+      dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
+      dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
+      dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
+      dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
+      dnl symlink is missing, so we set acl_libdirstem2 too.
+      AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
+        [AC_EGREP_CPP([sixtyfour bits], [
+#ifdef _LP64
+sixtyfour bits
+#endif
+           ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
+        ])
+      if test $gl_cv_solaris_64bit = yes; then
+        acl_libdirstem=lib/64
+        case "$host_cpu" in
+          sparc*)        acl_libdirstem2=lib/sparcv9 ;;
+          i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
         esac
       fi
-    done
-    IFS="$acl_save_IFS"
-  fi
+      ;;
+    *)
+      searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+      if test -n "$searchpath"; then
+        acl_save_IFS="${IFS=   }"; IFS=":"
+        for searchdir in $searchpath; do
+          if test -d "$searchdir"; then
+            case "$searchdir" in
+              */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+              *) searchdir=`cd "$searchdir" && pwd`
+                 case "$searchdir" in
+                   */lib64 ) acl_libdirstem=lib64 ;;
+                 esac ;;
+            esac
+          fi
+        done
+        IFS="$acl_save_IFS"
+      fi
+      ;;
+  esac
+  test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
 ])
index b9777a6a88f079ccc05658197cfae80c3d5043fc..9ac109f67353d53c62c0f6784766f9a5f946b1b1 100644 (file)
@@ -1,6 +1,6 @@
-#serial 16
+#serial 17
 
-# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007
+# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008
 # Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
@@ -11,7 +11,13 @@ dnl From Jim Meyering.
 
 AC_DEFUN([gl_FUNC_LSTAT],
 [
+  AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
   AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
   dnl Note: AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK does AC_LIBOBJ(lstat).
+  if test $ac_cv_func_lstat_dereferences_slashed_symlink = no; then
+    REPLACE_LSTAT=1
+  fi
+  # Prerequisites of lib/lstat.c.
+  AC_REQUIRE([AC_C_INLINE])
   :
 ])
index df2a275c2eab6a08d7d0b65fa7ee4e6ae230c7e9..0da32b6b48b84065765f741d6ae914b1fe24eea0 100644 (file)
@@ -1,5 +1,5 @@
-# mbstate_t.m4 serial 9
-dnl Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
+# mbstate_t.m4 serial 10
+dnl Copyright (C) 2000-2002, 2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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,9 +16,9 @@ AC_DEFUN([AC_TYPE_MBSTATE_T],
   [AC_CACHE_CHECK([for mbstate_t], ac_cv_type_mbstate_t,
      [AC_COMPILE_IFELSE(
        [AC_LANG_PROGRAM(
-          [AC_INCLUDES_DEFAULT
-#          include <wchar.h>],
-          [mbstate_t x; return sizeof x;])],
+          [AC_INCLUDES_DEFAULT[
+#          include <wchar.h>]],
+          [[mbstate_t x; return sizeof x;]])],
        [ac_cv_type_mbstate_t=yes],
        [ac_cv_type_mbstate_t=no])])
    if test $ac_cv_type_mbstate_t = yes; then
diff --git a/m4/open.m4 b/m4/open.m4
new file mode 100644 (file)
index 0000000..38dfa26
--- /dev/null
@@ -0,0 +1,66 @@
+# open.m4 serial 4
+dnl Copyright (C) 2007-2008 Free Software Foundation, Inc.
+dnl This file is free software; the Free 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_OPEN],
+[
+  AC_REQUIRE([AC_CANONICAL_HOST])
+  case "$host_os" in
+    mingw* | pw*)
+      gl_REPLACE_OPEN
+      ;;
+    *)
+      dnl open("foo/") should not create a file when the file name has a
+      dnl trailing slash.
+      AC_CACHE_CHECK([whether open recognizes a trailing slash],
+        [gl_cv_func_open_slash],
+        [
+          AC_TRY_RUN([
+#include <fcntl.h>
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+int main ()
+{
+  return open ("conftest.sl/", O_CREAT, 0600) >= 0;
+}], [gl_cv_func_open_slash=yes], [gl_cv_func_open_slash=no],
+            [
+changequote(,)dnl
+             case "$host_os" in
+               solaris2.[0-9]*) gl_cv_func_open_slash="guessing no" ;;
+               hpux*)           gl_cv_func_open_slash="guessing no" ;;
+               *)               gl_cv_func_open_slash="guessing yes" ;;
+             esac
+changequote([,])dnl
+            ])
+          rm -f conftest.sl
+        ])
+      case "$gl_cv_func_open_slash" in
+        *no)
+          AC_DEFINE([OPEN_TRAILING_SLASH_BUG], 1,
+            [Define to 1 if open() fails to recognize a trailing slash.])
+          gl_REPLACE_OPEN
+          ;;
+      esac
+      ;;
+  esac
+])
+
+AC_DEFUN([gl_REPLACE_OPEN],
+[
+  AC_REQUIRE([gl_FCNTL_H_DEFAULTS])
+  if test $REPLACE_OPEN != 1; then
+    AC_LIBOBJ([open])
+    gl_PREREQ_OPEN
+  fi
+  REPLACE_OPEN=1
+])
+
+# Prerequisites of lib/open.c.
+AC_DEFUN([gl_PREREQ_OPEN],
+[
+  AC_REQUIRE([AC_C_INLINE])
+  :
+])
index 43f46d08b7d47d51d42d55e2cf7672604d53ca85..3b5b7cafe1b789925f4451faaf7211860edeefbd 100644 (file)
@@ -1,7 +1,7 @@
-#serial 15
+#serial 16
 # See if we need to use our replacement for Solaris' openat et al functions.
 
-dnl Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+dnl Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -15,6 +15,7 @@ AC_DEFUN([gl_FUNC_OPENAT],
   AC_CHECK_FUNCS_ONCE([lchmod])
   AC_CHECK_FUNCS_ONCE([fdopendir])
   AC_REPLACE_FUNCS([fchmodat mkdirat openat])
+  AC_REQUIRE([AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK])
   case $ac_cv_func_openat+$ac_cv_func_lstat_dereferences_slashed_symlink in
   yes+yes) ;;
   yes+*) AC_LIBOBJ([fstatat]);;
@@ -53,7 +54,7 @@ main ()
                    AT_SYMLINK_NOFOLLOW) != 0
          && errno == ENOENT);
 }
-          ]])],
+         ]])],
     [gl_cv_func_fchownat_nofollow_works=yes],
     [gl_cv_func_fchownat_nofollow_works=no],
     [gl_cv_func_fchownat_nofollow_works=no],
diff --git a/m4/printf.m4 b/m4/printf.m4
new file mode 100644 (file)
index 0000000..d544edd
--- /dev/null
@@ -0,0 +1,1309 @@
+# printf.m4 serial 23
+dnl Copyright (C) 2003, 2007-2008 Free Software Foundation, Inc.
+dnl This file is free software; the Free 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 Test whether the *printf family of functions supports the 'j', 'z', 't',
+dnl 'L' size specifiers. (ISO C99, POSIX:2001)
+dnl Result is gl_cv_func_printf_sizes_c99.
+
+AC_DEFUN([gl_PRINTF_SIZES_C99],
+[
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([gl_AC_HEADER_STDINT_H])
+  AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_CACHE_CHECK([whether printf supports size specifiers as in C99],
+    [gl_cv_func_printf_sizes_c99],
+    [
+      AC_TRY_RUN([
+#include <stddef.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/types.h>
+#if HAVE_STDINT_H_WITH_UINTMAX
+# include <stdint.h>
+#endif
+#if HAVE_INTTYPES_H_WITH_UINTMAX
+# include <inttypes.h>
+#endif
+static char buf[100];
+int main ()
+{
+#if HAVE_STDINT_H_WITH_UINTMAX || HAVE_INTTYPES_H_WITH_UINTMAX
+  buf[0] = '\0';
+  if (sprintf (buf, "%ju %d", (uintmax_t) 12345671, 33, 44, 55) < 0
+      || strcmp (buf, "12345671 33") != 0)
+    return 1;
+#endif
+  buf[0] = '\0';
+  if (sprintf (buf, "%zu %d", (size_t) 12345672, 33, 44, 55) < 0
+      || strcmp (buf, "12345672 33") != 0)
+    return 1;
+  buf[0] = '\0';
+  if (sprintf (buf, "%tu %d", (ptrdiff_t) 12345673, 33, 44, 55) < 0
+      || strcmp (buf, "12345673 33") != 0)
+    return 1;
+  buf[0] = '\0';
+  if (sprintf (buf, "%Lg %d", (long double) 1.5, 33, 44, 55) < 0
+      || strcmp (buf, "1.5 33") != 0)
+    return 1;
+  return 0;
+}], [gl_cv_func_printf_sizes_c99=yes], [gl_cv_func_printf_sizes_c99=no],
+      [
+changequote(,)dnl
+       case "$host_os" in
+                               # 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* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";;
+                               # Guess yes on MacOS X >= 10.3.
+         darwin[1-6].*)        gl_cv_func_printf_sizes_c99="guessing no";;
+         darwin*)              gl_cv_func_printf_sizes_c99="guessing yes";;
+                               # Guess yes on OpenBSD >= 3.9.
+         openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*)
+                               gl_cv_func_printf_sizes_c99="guessing no";;
+         openbsd*)             gl_cv_func_printf_sizes_c99="guessing yes";;
+                               # Guess yes on Solaris >= 2.10.
+         solaris2.[0-9]*)      gl_cv_func_printf_sizes_c99="guessing no";;
+         solaris*)             gl_cv_func_printf_sizes_c99="guessing yes";;
+                               # Guess yes on NetBSD >= 3.
+         netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*)
+                               gl_cv_func_printf_sizes_c99="guessing no";;
+         netbsd*)              gl_cv_func_printf_sizes_c99="guessing yes";;
+                               # If we don't know, assume the worst.
+         *)                    gl_cv_func_printf_sizes_c99="guessing no";;
+       esac
+changequote([,])dnl
+      ])
+    ])
+])
+
+dnl Test whether the *printf family of functions supports 'long double'
+dnl arguments together with the 'L' size specifier. (ISO C99, POSIX:2001)
+dnl Result is gl_cv_func_printf_long_double.
+
+AC_DEFUN([gl_PRINTF_LONG_DOUBLE],
+[
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_CACHE_CHECK([whether printf supports 'long double' arguments],
+    [gl_cv_func_printf_long_double],
+    [
+      AC_TRY_RUN([
+#include <stdio.h>
+#include <string.h>
+static char buf[10000];
+int main ()
+{
+  buf[0] = '\0';
+  if (sprintf (buf, "%Lf %d", 1.75L, 33, 44, 55) < 0
+      || strcmp (buf, "1.750000 33") != 0)
+    return 1;
+  buf[0] = '\0';
+  if (sprintf (buf, "%Le %d", 1.75L, 33, 44, 55) < 0
+      || strcmp (buf, "1.750000e+00 33") != 0)
+    return 1;
+  buf[0] = '\0';
+  if (sprintf (buf, "%Lg %d", 1.75L, 33, 44, 55) < 0
+      || strcmp (buf, "1.75 33") != 0)
+    return 1;
+  return 0;
+}], [gl_cv_func_printf_long_double=yes], [gl_cv_func_printf_long_double=no],
+      [
+changequote(,)dnl
+       case "$host_os" in
+         beos*)        gl_cv_func_printf_long_double="guessing no";;
+         mingw* | pw*) gl_cv_func_printf_long_double="guessing no";;
+         *)            gl_cv_func_printf_long_double="guessing yes";;
+       esac
+changequote([,])dnl
+      ])
+    ])
+])
+
+dnl Test whether the *printf family of functions supports infinite and NaN
+dnl 'double' arguments in the %f, %e, %g directives. (ISO C99, POSIX:2001)
+dnl Result is gl_cv_func_printf_infinite.
+
+AC_DEFUN([gl_PRINTF_INFINITE],
+[
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_CACHE_CHECK([whether printf supports infinite 'double' arguments],
+    [gl_cv_func_printf_infinite],
+    [
+      AC_TRY_RUN([
+#include <stdio.h>
+#include <string.h>
+static int
+strisnan (const char *string, size_t start_index, size_t end_index)
+{
+  if (start_index < end_index)
+    {
+      if (string[start_index] == '-')
+        start_index++;
+      if (start_index + 3 <= end_index
+          && memcmp (string + start_index, "nan", 3) == 0)
+        {
+          start_index += 3;
+          if (start_index == end_index
+              || (string[start_index] == '(' && string[end_index - 1] == ')'))
+            return 1;
+        }
+    }
+  return 0;
+}
+static char buf[10000];
+static double zero = 0.0;
+int main ()
+{
+  if (sprintf (buf, "%f", 1.0 / 0.0) < 0
+      || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
+    return 1;
+  if (sprintf (buf, "%f", -1.0 / 0.0) < 0
+      || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
+    return 1;
+  if (sprintf (buf, "%f", zero / zero) < 0
+      || !strisnan (buf, 0, strlen (buf)))
+    return 1;
+  if (sprintf (buf, "%e", 1.0 / 0.0) < 0
+      || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
+    return 1;
+  if (sprintf (buf, "%e", -1.0 / 0.0) < 0
+      || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
+    return 1;
+  if (sprintf (buf, "%e", zero / zero) < 0
+      || !strisnan (buf, 0, strlen (buf)))
+    return 1;
+  if (sprintf (buf, "%g", 1.0 / 0.0) < 0
+      || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
+    return 1;
+  if (sprintf (buf, "%g", -1.0 / 0.0) < 0
+      || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
+    return 1;
+  if (sprintf (buf, "%g", zero / zero) < 0
+      || !strisnan (buf, 0, strlen (buf)))
+    return 1;
+  return 0;
+}], [gl_cv_func_printf_infinite=yes], [gl_cv_func_printf_infinite=no],
+      [
+changequote(,)dnl
+       case "$host_os" in
+                               # 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* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";;
+                               # Guess yes on MacOS X >= 10.3.
+         darwin[1-6].*)        gl_cv_func_printf_infinite="guessing no";;
+         darwin*)              gl_cv_func_printf_infinite="guessing yes";;
+                               # Guess yes on HP-UX >= 11.
+         hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite="guessing no";;
+         hpux*)                gl_cv_func_printf_infinite="guessing yes";;
+                               # Guess yes on NetBSD >= 3.
+         netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*)
+                               gl_cv_func_printf_infinite="guessing no";;
+         netbsd*)              gl_cv_func_printf_infinite="guessing yes";;
+                               # Guess yes on BeOS.
+         beos*)                gl_cv_func_printf_infinite="guessing yes";;
+                               # If we don't know, assume the worst.
+         *)                    gl_cv_func_printf_infinite="guessing no";;
+       esac
+changequote([,])dnl
+      ])
+    ])
+])
+
+dnl Test whether the *printf family of functions supports infinite and NaN
+dnl 'long double' arguments in the %f, %e, %g directives. (ISO C99, POSIX:2001)
+dnl Result is gl_cv_func_printf_infinite_long_double.
+
+AC_DEFUN([gl_PRINTF_INFINITE_LONG_DOUBLE],
+[
+  AC_REQUIRE([gl_PRINTF_LONG_DOUBLE])
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_C_BIGENDIAN])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  dnl The user can set or unset the variable gl_printf_safe to indicate
+  dnl that he wishes a safe handling of non-IEEE-754 'long double' values.
+  if test -n "$gl_printf_safe"; then
+    AC_DEFINE([CHECK_PRINTF_SAFE], 1,
+      [Define if you wish *printf() functions that have a safe handling of
+       non-IEEE-754 'long double' values.])
+  fi
+  case "$gl_cv_func_printf_long_double" in
+    *yes)
+      AC_CACHE_CHECK([whether printf supports infinite 'long double' arguments],
+        [gl_cv_func_printf_infinite_long_double],
+        [
+          AC_TRY_RUN([
+]GL_NOCRASH[
+#include <float.h>
+#include <stdio.h>
+#include <string.h>
+static int
+strisnan (const char *string, size_t start_index, size_t end_index)
+{
+  if (start_index < end_index)
+    {
+      if (string[start_index] == '-')
+        start_index++;
+      if (start_index + 3 <= end_index
+          && memcmp (string + start_index, "nan", 3) == 0)
+        {
+          start_index += 3;
+          if (start_index == end_index
+              || (string[start_index] == '(' && string[end_index - 1] == ')'))
+            return 1;
+        }
+    }
+  return 0;
+}
+static char buf[10000];
+static long double zeroL = 0.0L;
+int main ()
+{
+  nocrash_init();
+  if (sprintf (buf, "%Lf", 1.0L / 0.0L) < 0
+      || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
+    return 1;
+  if (sprintf (buf, "%Lf", -1.0L / 0.0L) < 0
+      || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
+    return 1;
+  if (sprintf (buf, "%Lf", zeroL / zeroL) < 0
+      || !strisnan (buf, 0, strlen (buf)))
+    return 1;
+  if (sprintf (buf, "%Le", 1.0L / 0.0L) < 0
+      || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
+    return 1;
+  if (sprintf (buf, "%Le", -1.0L / 0.0L) < 0
+      || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
+    return 1;
+  if (sprintf (buf, "%Le", zeroL / zeroL) < 0
+      || !strisnan (buf, 0, strlen (buf)))
+    return 1;
+  if (sprintf (buf, "%Lg", 1.0L / 0.0L) < 0
+      || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
+    return 1;
+  if (sprintf (buf, "%Lg", -1.0L / 0.0L) < 0
+      || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
+    return 1;
+  if (sprintf (buf, "%Lg", zeroL / zeroL) < 0
+      || !strisnan (buf, 0, strlen (buf)))
+    return 1;
+#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_))
+/* Representation of an 80-bit 'long double' as an initializer for a sequence
+   of 'unsigned int' words.  */
+# 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) (mantlo) << 16                                        \
+     }
+# else
+#  define LDBL80_WORDS(exponent,manthi,mantlo) \
+     { mantlo, manthi, exponent }
+# endif
+  { /* Quiet NaN.  */
+    static union { unsigned int word[4]; long double value; } x =
+      { LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) };
+    if (sprintf (buf, "%Lf", x.value) < 0
+        || !strisnan (buf, 0, strlen (buf)))
+      return 1;
+    if (sprintf (buf, "%Le", x.value) < 0
+        || !strisnan (buf, 0, strlen (buf)))
+      return 1;
+    if (sprintf (buf, "%Lg", x.value) < 0
+        || !strisnan (buf, 0, strlen (buf)))
+      return 1;
+  }
+  {
+    /* Signalling NaN.  */
+    static union { unsigned int word[4]; long double value; } x =
+      { LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) };
+    if (sprintf (buf, "%Lf", x.value) < 0
+        || !strisnan (buf, 0, strlen (buf)))
+      return 1;
+    if (sprintf (buf, "%Le", x.value) < 0
+        || !strisnan (buf, 0, strlen (buf)))
+      return 1;
+    if (sprintf (buf, "%Lg", x.value) < 0
+        || !strisnan (buf, 0, strlen (buf)))
+      return 1;
+  }
+  { /* 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)))
+      return 1;
+    if (sprintf (buf, "%Le", x.value) < 0
+        || !strisnan (buf, 0, strlen (buf)))
+      return 1;
+    if (sprintf (buf, "%Lg", x.value) < 0
+        || !strisnan (buf, 0, strlen (buf)))
+      return 1;
+  }
+  { /* 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)))
+      return 1;
+    if (sprintf (buf, "%Le", x.value) < 0
+        || !strisnan (buf, 0, strlen (buf)))
+      return 1;
+    if (sprintf (buf, "%Lg", x.value) < 0
+        || !strisnan (buf, 0, strlen (buf)))
+      return 1;
+  }
+  { /* 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)))
+      return 1;
+    if (sprintf (buf, "%Le", x.value) < 0
+        || !strisnan (buf, 0, strlen (buf)))
+      return 1;
+    if (sprintf (buf, "%Lg", x.value) < 0
+        || !strisnan (buf, 0, strlen (buf)))
+      return 1;
+  }
+  { /* 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)))
+      return 1;
+    if (sprintf (buf, "%Le", x.value) < 0
+        || !strisnan (buf, 0, strlen (buf)))
+      return 1;
+    if (sprintf (buf, "%Lg", x.value) < 0
+        || !strisnan (buf, 0, strlen (buf)))
+      return 1;
+  }
+  { /* 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)))
+      return 1;
+    if (sprintf (buf, "%Le", x.value) < 0
+        || !strisnan (buf, 0, strlen (buf)))
+      return 1;
+    if (sprintf (buf, "%Lg", x.value) < 0
+        || !strisnan (buf, 0, strlen (buf)))
+      return 1;
+  }
+#endif
+  return 0;
+}],
+          [gl_cv_func_printf_infinite_long_double=yes],
+          [gl_cv_func_printf_infinite_long_double=no],
+          [
+changequote(,)dnl
+           case "$host_cpu" in
+                                   # Guess no on ia64, x86_64, i386.
+             ia64 | x86_64 | i*86) gl_cv_func_printf_infinite_long_double="guessing no";;
+             *)
+               case "$host_os" in
+                                       # 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* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";;
+                                       # Guess yes on MacOS X >= 10.3.
+                 darwin[1-6].*)        gl_cv_func_printf_infinite_long_double="guessing no";;
+                 darwin*)              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";;
+                 hpux*)                gl_cv_func_printf_infinite_long_double="guessing yes";;
+                                       # Guess yes on NetBSD >= 3.
+                 netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*)
+                                       gl_cv_func_printf_infinite_long_double="guessing no";;
+                 netbsd*)              gl_cv_func_printf_infinite_long_double="guessing yes";;
+                                       # If we don't know, assume the worst.
+                 *)                    gl_cv_func_printf_infinite_long_double="guessing no";;
+               esac
+               ;;
+           esac
+changequote([,])dnl
+          ])
+        ])
+      ;;
+    *)
+      gl_cv_func_printf_infinite_long_double="irrelevant"
+      ;;
+  esac
+])
+
+dnl Test whether the *printf family of functions supports the 'a' and 'A'
+dnl conversion specifier for hexadecimal output of floating-point numbers.
+dnl (ISO C99, POSIX:2001)
+dnl Result is gl_cv_func_printf_directive_a.
+
+AC_DEFUN([gl_PRINTF_DIRECTIVE_A],
+[
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_CACHE_CHECK([whether printf supports the 'a' and 'A' directives],
+    [gl_cv_func_printf_directive_a],
+    [
+      AC_TRY_RUN([
+#include <stdio.h>
+#include <string.h>
+static char buf[100];
+int main ()
+{
+  if (sprintf (buf, "%a %d", 3.1416015625, 33, 44, 55) < 0
+      || (strcmp (buf, "0x1.922p+1 33") != 0
+          && strcmp (buf, "0x3.244p+0 33") != 0
+          && strcmp (buf, "0x6.488p-1 33") != 0
+          && strcmp (buf, "0xc.91p-2 33") != 0))
+    return 1;
+  if (sprintf (buf, "%A %d", -3.1416015625, 33, 44, 55) < 0
+      || (strcmp (buf, "-0X1.922P+1 33") != 0
+          && strcmp (buf, "-0X3.244P+0 33") != 0
+          && strcmp (buf, "-0X6.488P-1 33") != 0
+          && strcmp (buf, "-0XC.91P-2 33") != 0))
+    return 1;
+  /* This catches a FreeBSD 6.1 bug: it doesn't round.  */
+  if (sprintf (buf, "%.2a %d", 1.51, 33, 44, 55) < 0
+      || (strcmp (buf, "0x1.83p+0 33") != 0
+          && strcmp (buf, "0x3.05p-1 33") != 0
+          && strcmp (buf, "0x6.0ap-2 33") != 0
+          && strcmp (buf, "0xc.14p-3 33") != 0))
+    return 1;
+  /* This catches a FreeBSD 6.1 bug.  See
+     <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
+  if (sprintf (buf, "%010a %d", 1.0 / 0.0, 33, 44, 55) < 0
+      || buf[0] == '0')
+    return 1;
+  /* This catches a MacOS X 10.3.9 (Darwin 7.9) bug.  */
+  if (sprintf (buf, "%.1a", 1.999) < 0
+      || (strcmp (buf, "0x1.0p+1") != 0
+          && strcmp (buf, "0x2.0p+0") != 0
+          && strcmp (buf, "0x4.0p-1") != 0
+          && strcmp (buf, "0x8.0p-2") != 0))
+    return 1;
+  /* This catches the same MacOS X 10.3.9 (Darwin 7.9) bug and also a
+     glibc 2.4 bug <http://sourceware.org/bugzilla/show_bug.cgi?id=2908>.  */
+  if (sprintf (buf, "%.1La", 1.999L) < 0
+      || (strcmp (buf, "0x1.0p+1") != 0
+          && strcmp (buf, "0x2.0p+0") != 0
+          && strcmp (buf, "0x4.0p-1") != 0
+          && strcmp (buf, "0x8.0p-2") != 0))
+    return 1;
+  return 0;
+}], [gl_cv_func_printf_directive_a=yes], [gl_cv_func_printf_directive_a=no],
+      [
+       case "$host_os" in
+                               # Guess yes on glibc >= 2.5 systems.
+         *-gnu*)
+           AC_EGREP_CPP([BZ2908], [
+             #include <features.h>
+             #ifdef __GNU_LIBRARY__
+              #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 5) || (__GLIBC__ > 2)
+               BZ2908
+              #endif
+             #endif
+             ],
+             [gl_cv_func_printf_directive_a="guessing yes"],
+             [gl_cv_func_printf_directive_a="guessing no"])
+           ;;
+                               # If we don't know, assume the worst.
+         *)                    gl_cv_func_printf_directive_a="guessing no";;
+       esac
+      ])
+    ])
+])
+
+dnl Test whether the *printf family of functions supports the %F format
+dnl directive. (ISO C99, POSIX:2001)
+dnl Result is gl_cv_func_printf_directive_f.
+
+AC_DEFUN([gl_PRINTF_DIRECTIVE_F],
+[
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_CACHE_CHECK([whether printf supports the 'F' directive],
+    [gl_cv_func_printf_directive_f],
+    [
+      AC_TRY_RUN([
+#include <stdio.h>
+#include <string.h>
+static char buf[100];
+int main ()
+{
+  if (sprintf (buf, "%F %d", 1234567.0, 33, 44, 55) < 0
+      || strcmp (buf, "1234567.000000 33") != 0)
+    return 1;
+  if (sprintf (buf, "%F", 1.0 / 0.0) < 0
+      || (strcmp (buf, "INF") != 0 && strcmp (buf, "INFINITY") != 0))
+    return 1;
+  /* This catches a Cygwin 2007 bug.  */
+  if (sprintf (buf, "%.F", 1234.0) < 0
+      || strcmp (buf, "1234") != 0)
+    return 1;
+  return 0;
+}], [gl_cv_func_printf_directive_f=yes], [gl_cv_func_printf_directive_f=no],
+      [
+changequote(,)dnl
+       case "$host_os" in
+                               # 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* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";;
+                               # Guess yes on MacOS X >= 10.3.
+         darwin[1-6].*)        gl_cv_func_printf_directive_f="guessing no";;
+         darwin*)              gl_cv_func_printf_directive_f="guessing yes";;
+                               # Guess yes on Solaris >= 2.10.
+         solaris2.[0-9]*)      gl_cv_func_printf_directive_f="guessing no";;
+         solaris*)             gl_cv_func_printf_directive_f="guessing yes";;
+                               # If we don't know, assume the worst.
+         *)                    gl_cv_func_printf_directive_f="guessing no";;
+       esac
+changequote([,])dnl
+      ])
+    ])
+])
+
+dnl Test whether the *printf family of functions supports the %n format
+dnl directive. (ISO C99, POSIX:2001)
+dnl Result is gl_cv_func_printf_directive_n.
+
+AC_DEFUN([gl_PRINTF_DIRECTIVE_N],
+[
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_CACHE_CHECK([whether printf supports the 'n' directive],
+    [gl_cv_func_printf_directive_n],
+    [
+      AC_TRY_RUN([
+#include <stdio.h>
+#include <string.h>
+static char fmtstring[10];
+static char buf[100];
+int main ()
+{
+  int count = -1;
+  /* Copy the format string.  Some systems (glibc with _FORTIFY_SOURCE=2)
+     support %n in format strings in read-only memory but not in writable
+     memory.  */
+  strcpy (fmtstring, "%d %n");
+  if (sprintf (buf, fmtstring, 123, &count, 33, 44, 55) < 0
+      || strcmp (buf, "123 ") != 0
+      || count != 4)
+    return 1;
+  return 0;
+}], [gl_cv_func_printf_directive_n=yes], [gl_cv_func_printf_directive_n=no],
+      [
+changequote(,)dnl
+       case "$host_os" in
+         *)     gl_cv_func_printf_directive_n="guessing yes";;
+       esac
+changequote([,])dnl
+      ])
+    ])
+])
+
+dnl Test whether the *printf family of functions supports POSIX/XSI format
+dnl strings with positions. (POSIX:2001)
+dnl Result is gl_cv_func_printf_positions.
+
+AC_DEFUN([gl_PRINTF_POSITIONS],
+[
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_CACHE_CHECK([whether printf supports POSIX/XSI format strings with positions],
+    [gl_cv_func_printf_positions],
+    [
+      AC_TRY_RUN([
+#include <stdio.h>
+#include <string.h>
+/* The string "%2$d %1$d", with dollar characters protected from the shell's
+   dollar expansion (possibly an autoconf bug).  */
+static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' };
+static char buf[100];
+int main ()
+{
+  sprintf (buf, format, 33, 55);
+  return (strcmp (buf, "55 33") != 0);
+}], [gl_cv_func_printf_positions=yes], [gl_cv_func_printf_positions=no],
+      [
+changequote(,)dnl
+       case "$host_os" in
+         netbsd[1-3]* | netbsdelf[1-3]* | netbsdaout[1-3]* | netbsdcoff[1-3]*)
+                       gl_cv_func_printf_positions="guessing no";;
+         beos*)        gl_cv_func_printf_positions="guessing no";;
+         mingw* | pw*) gl_cv_func_printf_positions="guessing no";;
+         *)            gl_cv_func_printf_positions="guessing yes";;
+       esac
+changequote([,])dnl
+      ])
+    ])
+])
+
+dnl Test whether the *printf family of functions supports POSIX/XSI format
+dnl strings with the ' flag for grouping of decimal digits. (POSIX:2001)
+dnl Result is gl_cv_func_printf_flag_grouping.
+
+AC_DEFUN([gl_PRINTF_FLAG_GROUPING],
+[
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_CACHE_CHECK([whether printf supports the grouping flag],
+    [gl_cv_func_printf_flag_grouping],
+    [
+      AC_TRY_RUN([
+#include <stdio.h>
+#include <string.h>
+static char buf[100];
+int main ()
+{
+  if (sprintf (buf, "%'d %d", 1234567, 99) < 0
+      || buf[strlen (buf) - 1] != '9')
+    return 1;
+  return 0;
+}], [gl_cv_func_printf_flag_grouping=yes], [gl_cv_func_printf_flag_grouping=no],
+      [
+changequote(,)dnl
+       case "$host_os" in
+         cygwin*)      gl_cv_func_printf_flag_grouping="guessing no";;
+         netbsd*)      gl_cv_func_printf_flag_grouping="guessing no";;
+         mingw* | pw*) gl_cv_func_printf_flag_grouping="guessing no";;
+         *)            gl_cv_func_printf_flag_grouping="guessing yes";;
+       esac
+changequote([,])dnl
+      ])
+    ])
+])
+
+dnl Test whether the *printf family of functions supports the - flag correctly.
+dnl (ISO C99.) See
+dnl <http://lists.gnu.org/archive/html/bug-coreutils/2008-02/msg00035.html>
+dnl Result is gl_cv_func_printf_flag_leftadjust.
+
+AC_DEFUN([gl_PRINTF_FLAG_LEFTADJUST],
+[
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_CACHE_CHECK([whether printf supports the left-adjust flag correctly],
+    [gl_cv_func_printf_flag_leftadjust],
+    [
+      AC_TRY_RUN([
+#include <stdio.h>
+#include <string.h>
+static char buf[100];
+int main ()
+{
+  /* Check that a '-' flag is not annihilated by a negative width.  */
+  if (sprintf (buf, "a%-*sc", -3, "b") < 0
+      || strcmp (buf, "ab  c") != 0)
+    return 1;
+  return 0;
+}],
+        [gl_cv_func_printf_flag_leftadjust=yes],
+        [gl_cv_func_printf_flag_leftadjust=no],
+        [
+changequote(,)dnl
+         case "$host_os" in
+                    # Guess yes on HP-UX 11.
+           hpux11*) gl_cv_func_printf_flag_leftadjust="guessing yes";;
+                    # Guess no on HP-UX 10 and older.
+           hpux*)   gl_cv_func_printf_flag_leftadjust="guessing no";;
+                    # Guess yes otherwise.
+           *)       gl_cv_func_printf_flag_leftadjust="guessing yes";;
+         esac
+changequote([,])dnl
+        ])
+    ])
+])
+
+dnl Test whether the *printf family of functions supports padding of non-finite
+dnl values with the 0 flag correctly. (ISO C99 + TC1 + TC2.) See
+dnl <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html>
+dnl Result is gl_cv_func_printf_flag_zero.
+
+AC_DEFUN([gl_PRINTF_FLAG_ZERO],
+[
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_CACHE_CHECK([whether printf supports the zero flag correctly],
+    [gl_cv_func_printf_flag_zero],
+    [
+      AC_TRY_RUN([
+#include <stdio.h>
+#include <string.h>
+static char buf[100];
+int main ()
+{
+  if (sprintf (buf, "%010f", 1.0 / 0.0, 33, 44, 55) < 0
+      || (strcmp (buf, "       inf") != 0
+          && strcmp (buf, "  infinity") != 0))
+    return 1;
+  return 0;
+}], [gl_cv_func_printf_flag_zero=yes], [gl_cv_func_printf_flag_zero=no],
+      [
+changequote(,)dnl
+       case "$host_os" in
+                 # Guess yes on glibc systems.
+         *-gnu*) gl_cv_func_printf_flag_zero="guessing yes";;
+                 # Guess yes on BeOS.
+         beos*)  gl_cv_func_printf_flag_zero="guessing yes";;
+                 # If we don't know, assume the worst.
+         *)      gl_cv_func_printf_flag_zero="guessing no";;
+       esac
+changequote([,])dnl
+      ])
+    ])
+])
+
+dnl Test whether the *printf family of functions supports large precisions.
+dnl On mingw, precisions larger than 512 are treated like 512, in integer,
+dnl floating-point or pointer output. On BeOS, precisions larger than 1044
+dnl crash the program.
+dnl Result is gl_cv_func_printf_precision.
+
+AC_DEFUN([gl_PRINTF_PRECISION],
+[
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_CACHE_CHECK([whether printf supports large precisions],
+    [gl_cv_func_printf_precision],
+    [
+      AC_TRY_RUN([
+#include <stdio.h>
+#include <string.h>
+static char buf[5000];
+int main ()
+{
+#ifdef __BEOS__
+  /* On BeOS, this would crash and show a dialog box.  Avoid the crash.  */
+  return 1;
+#endif
+  if (sprintf (buf, "%.4000d %d", 1, 33, 44) < 4000 + 3)
+    return 1;
+  return 0;
+}], [gl_cv_func_printf_precision=yes], [gl_cv_func_printf_precision=no],
+      [
+changequote(,)dnl
+       case "$host_os" in
+         # Guess no only on native Win32 and BeOS systems.
+         mingw* | pw*) gl_cv_func_printf_precision="guessing no" ;;
+         beos*)        gl_cv_func_printf_precision="guessing no" ;;
+         *)            gl_cv_func_printf_precision="guessing yes" ;;
+       esac
+changequote([,])dnl
+      ])
+    ])
+])
+
+dnl Test whether the *printf family of functions recovers gracefully in case
+dnl of an out-of-memory condition, or whether it crashes the entire program.
+dnl Result is gl_cv_func_printf_enomem.
+
+AC_DEFUN([gl_PRINTF_ENOMEM],
+[
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_CACHE_CHECK([whether printf survives out-of-memory conditions],
+    [gl_cv_func_printf_enomem],
+    [
+      if test "$cross_compiling" = no; then
+        AC_LANG_CONFTEST([AC_LANG_SOURCE([
+]GL_NOCRASH[
+changequote(,)dnl
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+#include <errno.h>
+int main()
+{
+  struct rlimit limit;
+  int ret;
+  nocrash_init ();
+  /* Some printf implementations allocate temporary space with malloc.  */
+  /* On BSD systems, malloc() is limited by RLIMIT_DATA.  */
+#ifdef RLIMIT_DATA
+  if (getrlimit (RLIMIT_DATA, &limit) < 0)
+    return 77;
+  if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000)
+    limit.rlim_max = 5000000;
+  limit.rlim_cur = limit.rlim_max;
+  if (setrlimit (RLIMIT_DATA, &limit) < 0)
+    return 77;
+#endif
+  /* On Linux systems, malloc() is limited by RLIMIT_AS.  */
+#ifdef RLIMIT_AS
+  if (getrlimit (RLIMIT_AS, &limit) < 0)
+    return 77;
+  if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000)
+    limit.rlim_max = 5000000;
+  limit.rlim_cur = limit.rlim_max;
+  if (setrlimit (RLIMIT_AS, &limit) < 0)
+    return 77;
+#endif
+  /* Some printf implementations allocate temporary space on the stack.  */
+#ifdef RLIMIT_STACK
+  if (getrlimit (RLIMIT_STACK, &limit) < 0)
+    return 77;
+  if (limit.rlim_max == RLIM_INFINITY || limit.rlim_max > 5000000)
+    limit.rlim_max = 5000000;
+  limit.rlim_cur = limit.rlim_max;
+  if (setrlimit (RLIMIT_STACK, &limit) < 0)
+    return 77;
+#endif
+  ret = printf ("%.5000000f", 1.0);
+  return !(ret == 5000002 || (ret < 0 && errno == ENOMEM));
+}
+changequote([,])dnl
+          ])])
+        if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
+          (./conftest
+           result=$?
+           if test $result != 0 && test $result != 77; then result=1; fi
+           exit $result
+          ) >/dev/null 2>/dev/null
+          case $? in
+            0) gl_cv_func_printf_enomem="yes" ;;
+            77) gl_cv_func_printf_enomem="guessing no" ;;
+            *) gl_cv_func_printf_enomem="no" ;;
+          esac
+        else
+          gl_cv_func_printf_enomem="guessing no"
+        fi
+        rm -fr conftest*
+      else
+changequote(,)dnl
+        case "$host_os" in
+                    # Guess yes on glibc systems.
+          *-gnu*)   gl_cv_func_printf_enomem="guessing yes";;
+                    # Guess yes on Solaris.
+          solaris*) gl_cv_func_printf_enomem="guessing yes";;
+                    # Guess yes on AIX.
+          aix*)     gl_cv_func_printf_enomem="guessing yes";;
+                    # Guess yes on HP-UX/hppa.
+          hpux*)    case "$host_cpu" in
+                      hppa*) gl_cv_func_printf_enomem="guessing yes";;
+                      *)     gl_cv_func_printf_enomem="guessing no";;
+                    esac
+                    ;;
+                    # Guess yes on IRIX.
+          irix*)    gl_cv_func_printf_enomem="guessing yes";;
+                    # Guess yes on OSF/1.
+          osf*)     gl_cv_func_printf_enomem="guessing yes";;
+                    # Guess yes on BeOS.
+          beos*)    gl_cv_func_printf_enomem="guessing yes";;
+                    # If we don't know, assume the worst.
+          *)        gl_cv_func_printf_enomem="guessing no";;
+        esac
+changequote([,])dnl
+      fi
+    ])
+])
+
+dnl Test whether the snprintf function exists. (ISO C99, POSIX:2001)
+dnl Result is ac_cv_func_snprintf.
+
+AC_DEFUN([gl_SNPRINTF_PRESENCE],
+[
+  AC_CHECK_FUNCS_ONCE([snprintf])
+])
+
+dnl Test whether the string produced by the snprintf function is always NUL
+dnl terminated. (ISO C99, POSIX:2001)
+dnl Result is gl_cv_func_snprintf_truncation_c99.
+
+AC_DEFUN([gl_SNPRINTF_TRUNCATION_C99],
+[
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_CACHE_CHECK([whether snprintf truncates the result as in C99],
+    [gl_cv_func_snprintf_truncation_c99],
+    [
+      AC_TRY_RUN([
+#include <stdio.h>
+#include <string.h>
+static char buf[100];
+int main ()
+{
+  strcpy (buf, "ABCDEF");
+  snprintf (buf, 3, "%d %d", 4567, 89);
+  if (memcmp (buf, "45\0DEF", 6) != 0)
+    return 1;
+  return 0;
+}], [gl_cv_func_snprintf_truncation_c99=yes], [gl_cv_func_snprintf_truncation_c99=no],
+      [
+changequote(,)dnl
+       case "$host_os" in
+                               # 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* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";;
+                               # Guess yes on MacOS X >= 10.3.
+         darwin[1-6].*)        gl_cv_func_snprintf_truncation_c99="guessing no";;
+         darwin*)              gl_cv_func_snprintf_truncation_c99="guessing yes";;
+                               # Guess yes on OpenBSD >= 3.9.
+         openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*)
+                               gl_cv_func_snprintf_truncation_c99="guessing no";;
+         openbsd*)             gl_cv_func_snprintf_truncation_c99="guessing yes";;
+                               # Guess yes on Solaris >= 2.6.
+         solaris2.[0-5]*)      gl_cv_func_snprintf_truncation_c99="guessing no";;
+         solaris*)             gl_cv_func_snprintf_truncation_c99="guessing yes";;
+                               # Guess yes on AIX >= 4.
+         aix[1-3]*)            gl_cv_func_snprintf_truncation_c99="guessing no";;
+         aix*)                 gl_cv_func_snprintf_truncation_c99="guessing yes";;
+                               # Guess yes on HP-UX >= 11.
+         hpux[7-9]* | hpux10*) gl_cv_func_snprintf_truncation_c99="guessing no";;
+         hpux*)                gl_cv_func_snprintf_truncation_c99="guessing yes";;
+                               # Guess yes on IRIX >= 6.5.
+         irix6.5)              gl_cv_func_snprintf_truncation_c99="guessing yes";;
+                               # Guess yes on OSF/1 >= 5.
+         osf[3-4]*)            gl_cv_func_snprintf_truncation_c99="guessing no";;
+         osf*)                 gl_cv_func_snprintf_truncation_c99="guessing yes";;
+                               # Guess yes on NetBSD >= 3.
+         netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*)
+                               gl_cv_func_snprintf_truncation_c99="guessing no";;
+         netbsd*)              gl_cv_func_snprintf_truncation_c99="guessing yes";;
+                               # Guess yes on BeOS.
+         beos*)                gl_cv_func_snprintf_truncation_c99="guessing yes";;
+                               # If we don't know, assume the worst.
+         *)                    gl_cv_func_snprintf_truncation_c99="guessing no";;
+       esac
+changequote([,])dnl
+      ])
+    ])
+])
+
+dnl Test whether the return value of the snprintf function is the number
+dnl of bytes (excluding the terminating NUL) that would have been produced
+dnl if the buffer had been large enough. (ISO C99, POSIX:2001)
+dnl For example, this test program fails on IRIX 6.5:
+dnl     ---------------------------------------------------------------------
+dnl     #include <stdio.h>
+dnl     int main()
+dnl     {
+dnl       static char buf[8];
+dnl       int retval = snprintf (buf, 3, "%d", 12345);
+dnl       return retval >= 0 && retval < 3;
+dnl     }
+dnl     ---------------------------------------------------------------------
+dnl Result is gl_cv_func_snprintf_retval_c99.
+
+AC_DEFUN([gl_SNPRINTF_RETVAL_C99],
+[
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_CACHE_CHECK([whether snprintf returns a byte count as in C99],
+    [gl_cv_func_snprintf_retval_c99],
+    [
+      AC_TRY_RUN([
+#include <stdio.h>
+#include <string.h>
+static char buf[100];
+int main ()
+{
+  strcpy (buf, "ABCDEF");
+  if (snprintf (buf, 3, "%d %d", 4567, 89) != 7)
+    return 1;
+  return 0;
+}], [gl_cv_func_snprintf_retval_c99=yes], [gl_cv_func_snprintf_retval_c99=no],
+      [
+changequote(,)dnl
+       case "$host_os" in
+                               # Guess yes on glibc systems.
+         *-gnu*)               gl_cv_func_snprintf_retval_c99="guessing yes";;
+                               # Guess yes on FreeBSD >= 5.
+         freebsd[1-4]*)        gl_cv_func_snprintf_retval_c99="guessing no";;
+         freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";;
+                               # Guess yes on MacOS X >= 10.3.
+         darwin[1-6].*)        gl_cv_func_snprintf_retval_c99="guessing no";;
+         darwin*)              gl_cv_func_snprintf_retval_c99="guessing yes";;
+                               # Guess yes on OpenBSD >= 3.9.
+         openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*)
+                               gl_cv_func_snprintf_retval_c99="guessing no";;
+         openbsd*)             gl_cv_func_snprintf_retval_c99="guessing yes";;
+                               # Guess yes on Solaris >= 2.6.
+         solaris2.[0-5]*)      gl_cv_func_snprintf_retval_c99="guessing no";;
+         solaris*)             gl_cv_func_snprintf_retval_c99="guessing yes";;
+                               # Guess yes on AIX >= 4.
+         aix[1-3]*)            gl_cv_func_snprintf_retval_c99="guessing no";;
+         aix*)                 gl_cv_func_snprintf_retval_c99="guessing yes";;
+                               # Guess yes on NetBSD >= 3.
+         netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*)
+                               gl_cv_func_snprintf_retval_c99="guessing no";;
+         netbsd*)              gl_cv_func_snprintf_retval_c99="guessing yes";;
+                               # Guess yes on BeOS.
+         beos*)                gl_cv_func_snprintf_retval_c99="guessing yes";;
+                               # If we don't know, assume the worst.
+         *)                    gl_cv_func_snprintf_retval_c99="guessing no";;
+       esac
+changequote([,])dnl
+      ])
+    ])
+])
+
+dnl Test whether the snprintf function supports the %n format directive
+dnl also in truncated portions of the format string. (ISO C99, POSIX:2001)
+dnl Result is gl_cv_func_snprintf_directive_n.
+
+AC_DEFUN([gl_SNPRINTF_DIRECTIVE_N],
+[
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_CACHE_CHECK([whether snprintf fully supports the 'n' directive],
+    [gl_cv_func_snprintf_directive_n],
+    [
+      AC_TRY_RUN([
+#include <stdio.h>
+#include <string.h>
+static char fmtstring[10];
+static char buf[100];
+int main ()
+{
+  int count = -1;
+  /* Copy the format string.  Some systems (glibc with _FORTIFY_SOURCE=2)
+     support %n in format strings in read-only memory but not in writable
+     memory.  */
+  strcpy (fmtstring, "%d %n");
+  snprintf (buf, 4, fmtstring, 12345, &count, 33, 44, 55);
+  if (count != 6)
+    return 1;
+  return 0;
+}], [gl_cv_func_snprintf_directive_n=yes], [gl_cv_func_snprintf_directive_n=no],
+      [
+changequote(,)dnl
+       case "$host_os" in
+                               # 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* | kfreebsd*) gl_cv_func_snprintf_directive_n="guessing yes";;
+                               # Guess yes on MacOS X >= 10.3.
+         darwin[1-6].*)        gl_cv_func_snprintf_directive_n="guessing no";;
+         darwin*)              gl_cv_func_snprintf_directive_n="guessing yes";;
+                               # Guess yes on Solaris >= 2.6.
+         solaris2.[0-5]*)      gl_cv_func_snprintf_directive_n="guessing no";;
+         solaris*)             gl_cv_func_snprintf_directive_n="guessing yes";;
+                               # Guess yes on AIX >= 4.
+         aix[1-3]*)            gl_cv_func_snprintf_directive_n="guessing no";;
+         aix*)                 gl_cv_func_snprintf_directive_n="guessing yes";;
+                               # Guess yes on IRIX >= 6.5.
+         irix6.5)              gl_cv_func_snprintf_directive_n="guessing yes";;
+                               # Guess yes on OSF/1 >= 5.
+         osf[3-4]*)            gl_cv_func_snprintf_directive_n="guessing no";;
+         osf*)                 gl_cv_func_snprintf_directive_n="guessing yes";;
+                               # Guess yes on NetBSD >= 3.
+         netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*)
+                               gl_cv_func_snprintf_directive_n="guessing no";;
+         netbsd*)              gl_cv_func_snprintf_directive_n="guessing yes";;
+                               # Guess yes on BeOS.
+         beos*)                gl_cv_func_snprintf_directive_n="guessing yes";;
+                               # If we don't know, assume the worst.
+         *)                    gl_cv_func_snprintf_directive_n="guessing no";;
+       esac
+changequote([,])dnl
+      ])
+    ])
+])
+
+dnl Test whether the snprintf function, when passed a size = 1, writes any
+dnl output without bounds in this case, behaving like sprintf. This is the
+dnl case on Linux libc5.
+dnl Result is gl_cv_func_snprintf_size1.
+
+AC_DEFUN([gl_SNPRINTF_SIZE1],
+[
+  AC_REQUIRE([AC_PROG_CC])
+  AC_CACHE_CHECK([whether snprintf respects a size of 1],
+    [gl_cv_func_snprintf_size1],
+    [
+      AC_TRY_RUN([
+#include <stdio.h>
+int main()
+{
+  static char buf[8] = "DEADBEEF";
+  snprintf (buf, 1, "%d", 12345);
+  return buf[1] != 'E';
+}],
+      [gl_cv_func_snprintf_size1=yes],
+      [gl_cv_func_snprintf_size1=no],
+      [gl_cv_func_snprintf_size1="guessing yes"])
+    ])
+])
+
+dnl Test whether the vsnprintf function, when passed a zero size, produces no
+dnl output. (ISO C99, POSIX:2001)
+dnl For example, snprintf nevertheless writes a NUL byte in this case
+dnl on OSF/1 5.1:
+dnl     ---------------------------------------------------------------------
+dnl     #include <stdio.h>
+dnl     int main()
+dnl     {
+dnl       static char buf[8] = "DEADBEEF";
+dnl       snprintf (buf, 0, "%d", 12345);
+dnl       return buf[0] != 'D';
+dnl     }
+dnl     ---------------------------------------------------------------------
+dnl And vsnprintf writes any output without bounds in this case, behaving like
+dnl vsprintf, on HP-UX 11 and OSF/1 5.1:
+dnl     ---------------------------------------------------------------------
+dnl     #include <stdarg.h>
+dnl     #include <stdio.h>
+dnl     static int my_snprintf (char *buf, int size, const char *format, ...)
+dnl     {
+dnl       va_list args;
+dnl       int ret;
+dnl       va_start (args, format);
+dnl       ret = vsnprintf (buf, size, format, args);
+dnl       va_end (args);
+dnl       return ret;
+dnl     }
+dnl     int main()
+dnl     {
+dnl       static char buf[8] = "DEADBEEF";
+dnl       my_snprintf (buf, 0, "%d", 12345);
+dnl       return buf[0] != 'D';
+dnl     }
+dnl     ---------------------------------------------------------------------
+dnl Result is gl_cv_func_vsnprintf_zerosize_c99.
+
+AC_DEFUN([gl_VSNPRINTF_ZEROSIZE_C99],
+[
+  AC_REQUIRE([AC_PROG_CC])
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+  AC_CACHE_CHECK([whether vsnprintf respects a zero size as in C99],
+    [gl_cv_func_vsnprintf_zerosize_c99],
+    [
+      AC_TRY_RUN([
+#include <stdarg.h>
+#include <stdio.h>
+static int my_snprintf (char *buf, int size, const char *format, ...)
+{
+  va_list args;
+  int ret;
+  va_start (args, format);
+  ret = vsnprintf (buf, size, format, args);
+  va_end (args);
+  return ret;
+}
+int main()
+{
+  static char buf[8] = "DEADBEEF";
+  my_snprintf (buf, 0, "%d", 12345);
+  return buf[0] != 'D';
+}],
+      [gl_cv_func_vsnprintf_zerosize_c99=yes],
+      [gl_cv_func_vsnprintf_zerosize_c99=no],
+      [
+changequote(,)dnl
+       case "$host_os" in
+                               # 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* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+                               # Guess yes on MacOS X >= 10.3.
+         darwin[1-6].*)        gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
+         darwin*)              gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+                               # Guess yes on Cygwin.
+         cygwin*)              gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+                               # Guess yes on Solaris >= 2.6.
+         solaris2.[0-5]*)      gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
+         solaris*)             gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+                               # Guess yes on AIX >= 4.
+         aix[1-3]*)            gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
+         aix*)                 gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+                               # Guess yes on IRIX >= 6.5.
+         irix6.5)              gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+                               # Guess yes on NetBSD >= 3.
+         netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*)
+                               gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
+         netbsd*)              gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+                               # Guess yes on BeOS.
+         beos*)                gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+                               # Guess yes on mingw.
+         mingw* | pw*)         gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+                               # If we don't know, assume the worst.
+         *)                    gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
+       esac
+changequote([,])dnl
+      ])
+    ])
+])
+
+dnl The results of these tests on various platforms are:
+dnl
+dnl 1 = gl_PRINTF_SIZES_C99
+dnl 2 = gl_PRINTF_LONG_DOUBLE
+dnl 3 = gl_PRINTF_INFINITE
+dnl 4 = gl_PRINTF_INFINITE_LONG_DOUBLE
+dnl 5 = gl_PRINTF_DIRECTIVE_A
+dnl 6 = gl_PRINTF_DIRECTIVE_F
+dnl 7 = gl_PRINTF_DIRECTIVE_N
+dnl 8 = gl_PRINTF_POSITIONS
+dnl 9 = gl_PRINTF_FLAG_GROUPING
+dnl 10 = gl_PRINTF_FLAG_LEFTADJUST
+dnl 11 = gl_PRINTF_FLAG_ZERO
+dnl 12 = gl_PRINTF_PRECISION
+dnl 13 = gl_PRINTF_ENOMEM
+dnl 14 = gl_SNPRINTF_PRESENCE
+dnl 15 = gl_SNPRINTF_TRUNCATION_C99
+dnl 16 = gl_SNPRINTF_RETVAL_C99
+dnl 17 = gl_SNPRINTF_DIRECTIVE_N
+dnl 18 = gl_SNPRINTF_SIZE1
+dnl 19 = gl_VSNPRINTF_ZEROSIZE_C99
+dnl
+dnl 1 = checking whether printf supports size specifiers as in C99...
+dnl 2 = checking whether printf supports 'long double' arguments...
+dnl 3 = checking whether printf supports infinite 'double' arguments...
+dnl 4 = checking whether printf supports infinite 'long double' arguments...
+dnl 5 = checking whether printf supports the 'a' and 'A' directives...
+dnl 6 = checking whether printf supports the 'F' directive...
+dnl 7 = checking whether printf supports the 'n' directive...
+dnl 8 = checking whether printf supports POSIX/XSI format strings with positions...
+dnl 9 = checking whether printf supports the grouping flag...
+dnl 10 = checking whether printf supports the left-adjust flag correctly...
+dnl 11 = checking whether printf supports the zero flag correctly...
+dnl 12 = checking whether printf supports large precisions...
+dnl 13 = checking whether printf survives out-of-memory conditions...
+dnl 14 = checking for snprintf...
+dnl 15 = checking whether snprintf truncates the result as in C99...
+dnl 16 = checking whether snprintf returns a byte count as in C99...
+dnl 17 = checking whether snprintf fully supports the 'n' directive...
+dnl 18 = checking whether snprintf respects a size of 1...
+dnl 19 = checking whether vsnprintf respects a zero size as in C99...
+dnl
+dnl . = yes, # = no.
+dnl
+dnl                                  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19
+dnl   glibc 2.5                      .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
+dnl   glibc 2.3.6                    .  .  .  .  #  .  .  .  .  .  .  .  .  .  .  .  .  .  .
+dnl   FreeBSD 5.4, 6.1               .  .  .  .  #  .  .  .  .  .  #  .  #  .  .  .  .  .  .
+dnl   MacOS X 10.3.9                 .  .  .  .  #  .  .  .  .  .  #  .  #  .  .  .  .  .  .
+dnl   OpenBSD 3.9, 4.0               .  .  #  #  #  #  .  .  #  .  #  .  #  .  .  .  .  .  .
+dnl   Cygwin 2007 (= Cygwin 1.5.24)  .  .  .  .  #  #  .  .  .  ?  #  ?  ?  .  .  .  .  .  .
+dnl   Cygwin 2006 (= Cygwin 1.5.19)  #  .  .  .  #  #  .  .  #  ?  #  ?  ?  .  .  .  .  .  .
+dnl   Solaris 10                     .  .  #  #  #  .  .  .  .  .  #  .  .  .  .  .  .  .  .
+dnl   Solaris 2.6 ... 9              #  .  #  #  #  #  .  .  .  .  #  .  .  .  .  .  .  .  .
+dnl   Solaris 2.5.1                  #  .  #  #  #  #  .  .  .  .  #  .  .  #  #  #  #  #  #
+dnl   AIX 5.2                        .  .  #  #  #  .  .  .  .  .  #  .  .  .  .  .  .  .  .
+dnl   AIX 4.3.2, 5.1                 #  .  #  #  #  #  .  .  .  .  #  .  .  .  .  .  .  .  .
+dnl   HP-UX 11.31                    .  .  .  .  #  .  .  .  .  .  #  .  .  .  .  #  #  .  .
+dnl   HP-UX 11.{00,11,23}            #  .  .  .  #  #  .  .  .  .  #  .  .  .  .  #  #  .  #
+dnl   HP-UX 10.20                    #  .  .  .  #  #  .  .  .  #  #  .  .  .  .  #  #  ?  #
+dnl   IRIX 6.5                       #  .  #  #  #  #  .  .  .  .  #  .  .  .  .  #  .  .  .
+dnl   OSF/1 5.1                      #  .  #  #  #  #  .  .  .  .  #  .  .  .  .  #  .  .  #
+dnl   OSF/1 4.0d                     #  .  #  #  #  #  .  .  .  .  #  .  .  #  #  #  #  #  #
+dnl   NetBSD 4.0                     .  ?  ?  ?  ?  ?  .  .  ?  ?  ?  ?  ?  .  .  .  ?  ?  ?
+dnl   NetBSD 3.0                     .  .  .  .  #  #  .  #  #  ?  #  .  #  .  .  .  .  .  .
+dnl   BeOS                           #  #  .  #  #  #  .  #  .  ?  .  #  ?  .  .  .  .  .  .
+dnl   mingw                          #  #  #  #  #  #  .  #  #  .  #  #  ?  .  #  #  #  .  .
diff --git a/m4/rawmemchr.m4 b/m4/rawmemchr.m4
new file mode 100644 (file)
index 0000000..1ac7b74
--- /dev/null
@@ -0,0 +1,21 @@
+# rawmemchr.m4 serial 1
+dnl Copyright (C) 2003, 2007, 2008 Free Software Foundation, Inc.
+dnl This file is free software; the Free 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_RAWMEMCHR],
+[
+  dnl Persuade glibc <string.h> to declare rawmemchr().
+  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+
+  AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
+  AC_REPLACE_FUNCS([rawmemchr])
+  if test $ac_cv_func_rawmemchr = no; then
+    HAVE_RAWMEMCHR=0
+    gl_PREREQ_RAWMEMCHR
+  fi
+])
+
+# Prerequisites of lib/strchrnul.c.
+AC_DEFUN([gl_PREREQ_RAWMEMCHR], [:])
index 4879bd875dd795ff3696bb8b518a78ddf945858d..38fb7ba39940aa3fa0bcef71d55868a3d0ed85b6 100644 (file)
@@ -1,4 +1,4 @@
-#serial 49
+#serial 52
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
 # 2006, 2007, 2008 Free Software Foundation, Inc.
@@ -17,7 +17,7 @@ AC_DEFUN([gl_REGEX],
   AC_CHECK_HEADERS_ONCE([locale.h])
 
   AC_ARG_WITH([included-regex],
-    [AC_HELP_STRING([--without-included-regex],
+    [AS_HELP_STRING([--without-included-regex],
                    [don't compile regex; this is the default on 32-bit
                     systems with recent-enough versions of the GNU C
                     Library (use with caution on other systems).
@@ -37,13 +37,13 @@ AC_DEFUN([gl_REGEX],
                   [gl_cv_func_re_compile_pattern_working],
       [AC_RUN_IFELSE(
        [AC_LANG_PROGRAM(
-         [AC_INCLUDES_DEFAULT
+         [AC_INCLUDES_DEFAULT[
           #if HAVE_LOCALE_H
            #include <locale.h>
           #endif
           #include <limits.h>
           #include <regex.h>
-          ],
+          ]],
          [[static struct re_pattern_buffer regex;
            unsigned char folded_chars[UCHAR_MAX + 1];
            int i;
@@ -218,6 +218,7 @@ AC_DEFUN([gl_PREREQ_REGEX],
   AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
   AC_REQUIRE([AC_C_RESTRICT])
   AC_REQUIRE([AC_TYPE_MBSTATE_T])
+  AC_CHECK_HEADERS([libintl.h])
   AC_CHECK_FUNCS_ONCE([isblank iswctype mbrtowc wcrtomb wcscoll])
   AC_CHECK_DECLS([isblank], [], [], [#include <ctype.h>])
 ])
index 4a471ac860828c1176dba68d27496d28702e01ec..e4c986d8ecc6bb2df88cb0bc9b5d4dfce3a98ec9 100644 (file)
@@ -1,16 +1,32 @@
-# rpmatch.m4 serial 5
-dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+# rpmatch.m4 serial 7
+dnl Copyright (C) 2002-2003, 2007-2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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_RPMATCH],
 [
+  dnl Persuade glibc <stdlib.h> to declare rpmatch().
+  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+
+  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
   AC_REPLACE_FUNCS(rpmatch)
   if test $ac_cv_func_rpmatch = no; then
+    HAVE_RPMATCH=0
     gl_PREREQ_RPMATCH
   fi
 ])
 
 # Prerequisites of lib/rpmatch.c.
-AC_DEFUN([gl_PREREQ_RPMATCH], [:])
+AC_DEFUN([gl_PREREQ_RPMATCH], [
+  AC_CACHE_CHECK([for nl_langinfo and YESEXPR], gl_cv_langinfo_yesexpr,
+    [AC_TRY_LINK([#include <langinfo.h>],
+       [char* cs = nl_langinfo(YESEXPR); return !cs;],
+       [gl_cv_langinfo_yesexpr=yes],
+       [gl_cv_langinfo_yesexpr=no])
+    ])
+  if test $gl_cv_langinfo_yesexpr = yes; then
+    AC_DEFINE([HAVE_LANGINFO_YESEXPR], 1,
+      [Define if you have <langinfo.h> and nl_langinfo(YESEXPR).])
+  fi
+])
index 2c9d75cd6f140b103f7aa10fdffa028cc8e3706a..474ba07ba9814e952a07d31370130d5502fefd5e 100644 (file)
@@ -1,5 +1,5 @@
-# sleep.m4 serial 1
-dnl Copyright (C) 2007 Free Software Foundation, Inc.
+# sleep.m4 serial 2
+dnl Copyright (C) 2007-2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -7,8 +7,13 @@ dnl with or without modifications, as long as this notice is preserved.
 AC_DEFUN([gl_FUNC_SLEEP],
 [
   AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
-  AC_CHECK_FUNCS_ONCE([sleep])
-  if test $ac_cv_func_sleep = no; then
+  dnl We expect to see the declaration of sleep() in a header file.
+  dnl Older versions of mingw have a sleep() function that is an alias to
+  dnl _sleep() in MSVCRT. It has a different signature than POSIX sleep():
+  dnl it takes the number of milliseconds as argument and returns void.
+  dnl mingw does not declare this function.
+  AC_CHECK_DECLS([sleep], , , [#include <unistd.h>])
+  if test $ac_cv_have_decl_sleep != yes; then
     HAVE_SLEEP=0
     AC_LIBOBJ([sleep])
     gl_PREREQ_SLEEP
index f21200dceae21545280f5edb354a10694c99f181..6021786ee146ea02ca697a1a90360dc95c6043d4 100644 (file)
@@ -1,5 +1,5 @@
-# snprintf.m4 serial 4
-dnl Copyright (C) 2002, 2003, 2004, 2007 Free Software Foundation, Inc.
+# snprintf.m4 serial 5
+dnl Copyright (C) 2002-2004, 2007-2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -7,8 +7,17 @@ dnl with or without modifications, as long as this notice is preserved.
 AC_DEFUN([gl_FUNC_SNPRINTF],
 [
   AC_REQUIRE([gl_STDIO_H_DEFAULTS])
+  gl_cv_func_snprintf_usable=no
   AC_CHECK_FUNCS([snprintf])
-  if test $ac_cv_func_snprintf = no; then
+  if test $ac_cv_func_snprintf = yes; then
+    gl_SNPRINTF_SIZE1
+    case "$gl_cv_func_snprintf_size1" in
+      *yes)
+        gl_cv_func_snprintf_usable=yes
+        ;;
+    esac
+  fi
+  if test $gl_cv_func_snprintf_usable = no; then
     gl_REPLACE_SNPRINTF
   fi
   AC_CHECK_DECLS_ONCE([snprintf])
index bb6c34fe1e9e78a6a733f3c94501a5c240dfe947..b2556925670ebb4b549342daecaf3ab677aa3f65 100644 (file)
@@ -1,5 +1,5 @@
-# stdint.m4 serial 29
-dnl Copyright (C) 2001-2007 Free Software Foundation, Inc.
+# stdint.m4 serial 31
+dnl Copyright (C) 2001-2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -240,7 +240,7 @@ AC_DEFUN([gl_STDINT_BITSIZEOF],
   dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into
   dnl   config.h.in,
   dnl - extra AC_SUBST calls, so that the right substitutions are made.
-  AC_FOREACH([gltype], [$1],
+  m4_foreach_w([gltype], [$1],
     [AH_TEMPLATE([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]),
        [Define to the number of bits in type ']gltype['.])])
   for gltype in $1 ; do
@@ -265,7 +265,7 @@ AC_DEFUN([gl_STDINT_BITSIZEOF],
     AC_DEFINE_UNQUOTED([BITSIZEOF_${GLTYPE}], [$result])
     eval BITSIZEOF_${GLTYPE}=\$result
   done
-  AC_FOREACH([gltype], [$1],
+  m4_foreach_w([gltype], [$1],
     [AC_SUBST([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))])
 ])
 
@@ -278,7 +278,7 @@ AC_DEFUN([gl_CHECK_TYPES_SIGNED],
   dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into
   dnl   config.h.in,
   dnl - extra AC_SUBST calls, so that the right substitutions are made.
-  AC_FOREACH([gltype], [$1],
+  m4_foreach_w([gltype], [$1],
     [AH_TEMPLATE([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]),
        [Define to 1 if ']gltype[' is a signed integer type.])])
   for gltype in $1 ; do
@@ -298,7 +298,7 @@ AC_DEFUN([gl_CHECK_TYPES_SIGNED],
       eval HAVE_SIGNED_${GLTYPE}=0
     fi
   done
-  AC_FOREACH([gltype], [$1],
+  m4_foreach_w([gltype], [$1],
     [AC_SUBST([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))])
 ])
 
@@ -311,7 +311,7 @@ AC_DEFUN([gl_INTEGER_TYPE_SUFFIX],
   dnl - extra AH_TEMPLATE calls, so that autoheader knows what to put into
   dnl   config.h.in,
   dnl - extra AC_SUBST calls, so that the right substitutions are made.
-  AC_FOREACH([gltype], [$1],
+  m4_foreach_w([gltype], [$1],
     [AH_TEMPLATE(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX],
        [Define to l, ll, u, ul, ull, etc., as suitable for
         constants of type ']gltype['.])])
@@ -337,9 +337,9 @@ AC_DEFUN([gl_INTEGER_TYPE_SUFFIX],
            ui64)gltype1='unsigned __int64';;
          esac
          AC_COMPILE_IFELSE(
-           [AC_LANG_PROGRAM([$2
+           [AC_LANG_PROGRAM([$2[
               extern $gltype foo;
-              extern $gltype1 foo;])],
+              extern $gltype1 foo;]])],
            [eval gl_cv_type_${gltype}_suffix=\$glsuf])
          eval result=\$gl_cv_type_${gltype}_suffix
          test "$result" != no && break
@@ -350,7 +350,7 @@ AC_DEFUN([gl_INTEGER_TYPE_SUFFIX],
     eval ${GLTYPE}_SUFFIX=\$result
     AC_DEFINE_UNQUOTED([${GLTYPE}_SUFFIX], $result)
   done
-  AC_FOREACH([gltype], [$1],
+  m4_foreach_w([gltype], [$1],
     [AC_SUBST(translit(gltype,[abcdefghijklmnopqrstuvwxyz ],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX])])
 ])
 
index a40d41804199e9d99c7d6bac761ea02cde36f4c5..60b4bd791a2a36dba67e26864930d6cfa75a974c 100644 (file)
@@ -1,5 +1,5 @@
-# stdio_h.m4 serial 9
-dnl Copyright (C) 2007 Free Software Foundation, Inc.
+# stdio_h.m4 serial 14
+dnl Copyright (C) 2007-2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -8,6 +8,28 @@ AC_DEFUN([gl_STDIO_H],
 [
   AC_REQUIRE([gl_STDIO_H_DEFAULTS])
   gl_CHECK_NEXT_HEADERS([stdio.h])
+  dnl No need to create extra modules for these functions. Everyone who uses
+  dnl <stdio.h> likely needs them.
+  GNULIB_FPRINTF=1
+  GNULIB_PRINTF=1
+  GNULIB_VFPRINTF=1
+  GNULIB_VPRINTF=1
+  GNULIB_FPUTC=1
+  GNULIB_PUTC=1
+  GNULIB_PUTCHAR=1
+  GNULIB_FPUTS=1
+  GNULIB_PUTS=1
+  GNULIB_FWRITE=1
+  dnl This ifdef is just an optimization, to avoid performing a configure
+  dnl check whose result is not used. It does not make the test of
+  dnl GNULIB_STDIO_H_SIGPIPE or GNULIB_SIGPIPE redundant.
+  m4_ifdef([gl_SIGNAL_SIGPIPE], [
+    gl_SIGNAL_SIGPIPE
+    if test $gl_cv_header_signal_h_SIGPIPE != yes; then
+      REPLACE_STDIO_WRITE_FUNCS=1
+      AC_LIBOBJ([stdio-write])
+    fi
+  ])
 ])
 
 AC_DEFUN([gl_STDIO_MODULE_INDICATOR],
@@ -19,49 +41,69 @@ AC_DEFUN([gl_STDIO_MODULE_INDICATOR],
 
 AC_DEFUN([gl_STDIO_H_DEFAULTS],
 [
-  GNULIB_FPRINTF_POSIX=0;  AC_SUBST([GNULIB_FPRINTF_POSIX])
-  GNULIB_PRINTF_POSIX=0;   AC_SUBST([GNULIB_PRINTF_POSIX])
-  GNULIB_SNPRINTF=0;       AC_SUBST([GNULIB_SNPRINTF])
-  GNULIB_SPRINTF_POSIX=0;  AC_SUBST([GNULIB_SPRINTF_POSIX])
-  GNULIB_VFPRINTF_POSIX=0; AC_SUBST([GNULIB_VFPRINTF_POSIX])
-  GNULIB_VPRINTF_POSIX=0;  AC_SUBST([GNULIB_VPRINTF_POSIX])
-  GNULIB_VSNPRINTF=0;      AC_SUBST([GNULIB_VSNPRINTF])
-  GNULIB_VSPRINTF_POSIX=0; AC_SUBST([GNULIB_VSPRINTF_POSIX])
-  GNULIB_VASPRINTF=0;      AC_SUBST([GNULIB_VASPRINTF])
-  GNULIB_FOPEN=0;          AC_SUBST([GNULIB_FOPEN])
-  GNULIB_FREOPEN=0;        AC_SUBST([GNULIB_FREOPEN])
-  GNULIB_FSEEK=0;          AC_SUBST([GNULIB_FSEEK])
-  GNULIB_FSEEKO=0;         AC_SUBST([GNULIB_FSEEKO])
-  GNULIB_FTELL=0;          AC_SUBST([GNULIB_FTELL])
-  GNULIB_FTELLO=0;         AC_SUBST([GNULIB_FTELLO])
-  GNULIB_FFLUSH=0;         AC_SUBST([GNULIB_FFLUSH])
-  GNULIB_GETDELIM=0;       AC_SUBST([GNULIB_GETDELIM])
-  GNULIB_GETLINE=0;        AC_SUBST([GNULIB_GETLINE])
+  GNULIB_FPRINTF=0;              AC_SUBST([GNULIB_FPRINTF])
+  GNULIB_FPRINTF_POSIX=0;        AC_SUBST([GNULIB_FPRINTF_POSIX])
+  GNULIB_PRINTF=0;               AC_SUBST([GNULIB_PRINTF])
+  GNULIB_PRINTF_POSIX=0;         AC_SUBST([GNULIB_PRINTF_POSIX])
+  GNULIB_SNPRINTF=0;             AC_SUBST([GNULIB_SNPRINTF])
+  GNULIB_SPRINTF_POSIX=0;        AC_SUBST([GNULIB_SPRINTF_POSIX])
+  GNULIB_VFPRINTF=0;             AC_SUBST([GNULIB_VFPRINTF])
+  GNULIB_VFPRINTF_POSIX=0;       AC_SUBST([GNULIB_VFPRINTF_POSIX])
+  GNULIB_VPRINTF=0;              AC_SUBST([GNULIB_VPRINTF])
+  GNULIB_VPRINTF_POSIX=0;        AC_SUBST([GNULIB_VPRINTF_POSIX])
+  GNULIB_VSNPRINTF=0;            AC_SUBST([GNULIB_VSNPRINTF])
+  GNULIB_VSPRINTF_POSIX=0;       AC_SUBST([GNULIB_VSPRINTF_POSIX])
+  GNULIB_VASPRINTF=0;            AC_SUBST([GNULIB_VASPRINTF])
+  GNULIB_OBSTACK_PRINTF=0;       AC_SUBST([GNULIB_OBSTACK_PRINTF])
+  GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX])
+  GNULIB_FOPEN=0;                AC_SUBST([GNULIB_FOPEN])
+  GNULIB_FREOPEN=0;              AC_SUBST([GNULIB_FREOPEN])
+  GNULIB_FSEEK=0;                AC_SUBST([GNULIB_FSEEK])
+  GNULIB_FSEEKO=0;               AC_SUBST([GNULIB_FSEEKO])
+  GNULIB_FTELL=0;                AC_SUBST([GNULIB_FTELL])
+  GNULIB_FTELLO=0;               AC_SUBST([GNULIB_FTELLO])
+  GNULIB_FFLUSH=0;               AC_SUBST([GNULIB_FFLUSH])
+  GNULIB_FCLOSE=0;               AC_SUBST([GNULIB_FCLOSE])
+  GNULIB_FPUTC=0;                AC_SUBST([GNULIB_FPUTC])
+  GNULIB_PUTC=0;                 AC_SUBST([GNULIB_PUTC])
+  GNULIB_PUTCHAR=0;              AC_SUBST([GNULIB_PUTCHAR])
+  GNULIB_FPUTS=0;                AC_SUBST([GNULIB_FPUTS])
+  GNULIB_PUTS=0;                 AC_SUBST([GNULIB_PUTS])
+  GNULIB_FWRITE=0;               AC_SUBST([GNULIB_FWRITE])
+  GNULIB_GETDELIM=0;             AC_SUBST([GNULIB_GETDELIM])
+  GNULIB_GETLINE=0;              AC_SUBST([GNULIB_GETLINE])
+  GNULIB_PERROR=0;               AC_SUBST([GNULIB_PERROR])
+  GNULIB_STDIO_H_SIGPIPE=0;      AC_SUBST([GNULIB_STDIO_H_SIGPIPE])
   dnl Assume proper GNU behavior unless another module says otherwise.
-  REPLACE_FPRINTF=0;       AC_SUBST([REPLACE_FPRINTF])
-  REPLACE_VFPRINTF=0;      AC_SUBST([REPLACE_VFPRINTF])
-  REPLACE_PRINTF=0;        AC_SUBST([REPLACE_PRINTF])
-  REPLACE_VPRINTF=0;       AC_SUBST([REPLACE_VPRINTF])
-  REPLACE_SNPRINTF=0;      AC_SUBST([REPLACE_SNPRINTF])
-  HAVE_DECL_SNPRINTF=1;    AC_SUBST([HAVE_DECL_SNPRINTF])
-  REPLACE_VSNPRINTF=0;     AC_SUBST([REPLACE_VSNPRINTF])
-  HAVE_DECL_VSNPRINTF=1;   AC_SUBST([HAVE_DECL_VSNPRINTF])
-  REPLACE_SPRINTF=0;       AC_SUBST([REPLACE_SPRINTF])
-  REPLACE_VSPRINTF=0;      AC_SUBST([REPLACE_VSPRINTF])
-  HAVE_VASPRINTF=1;        AC_SUBST([HAVE_VASPRINTF])
-  REPLACE_VASPRINTF=0;     AC_SUBST([REPLACE_VASPRINTF])
-  REPLACE_FOPEN=0;         AC_SUBST([REPLACE_FOPEN])
-  REPLACE_FREOPEN=0;       AC_SUBST([REPLACE_FREOPEN])
-  HAVE_FSEEKO=1;           AC_SUBST([HAVE_FSEEKO])
-  REPLACE_FSEEKO=0;        AC_SUBST([REPLACE_FSEEKO])
-  REPLACE_FSEEK=0;         AC_SUBST([REPLACE_FSEEK])
-  HAVE_FTELLO=1;           AC_SUBST([HAVE_FTELLO])
-  REPLACE_FTELLO=0;        AC_SUBST([REPLACE_FTELLO])
-  REPLACE_FTELL=0;         AC_SUBST([REPLACE_FTELL])
-  REPLACE_FFLUSH=0;        AC_SUBST([REPLACE_FFLUSH])
-  HAVE_DECL_GETDELIM=1;    AC_SUBST([HAVE_DECL_GETDELIM])
-  HAVE_DECL_GETLINE=1;     AC_SUBST([HAVE_DECL_GETLINE])
-  REPLACE_GETLINE=0;       AC_SUBST([REPLACE_GETLINE])
+  REPLACE_STDIO_WRITE_FUNCS=0;   AC_SUBST([REPLACE_STDIO_WRITE_FUNCS])
+  REPLACE_FPRINTF=0;             AC_SUBST([REPLACE_FPRINTF])
+  REPLACE_VFPRINTF=0;            AC_SUBST([REPLACE_VFPRINTF])
+  REPLACE_PRINTF=0;              AC_SUBST([REPLACE_PRINTF])
+  REPLACE_VPRINTF=0;             AC_SUBST([REPLACE_VPRINTF])
+  REPLACE_SNPRINTF=0;            AC_SUBST([REPLACE_SNPRINTF])
+  HAVE_DECL_SNPRINTF=1;          AC_SUBST([HAVE_DECL_SNPRINTF])
+  REPLACE_VSNPRINTF=0;           AC_SUBST([REPLACE_VSNPRINTF])
+  HAVE_DECL_VSNPRINTF=1;         AC_SUBST([HAVE_DECL_VSNPRINTF])
+  REPLACE_SPRINTF=0;             AC_SUBST([REPLACE_SPRINTF])
+  REPLACE_VSPRINTF=0;            AC_SUBST([REPLACE_VSPRINTF])
+  HAVE_VASPRINTF=1;              AC_SUBST([HAVE_VASPRINTF])
+  REPLACE_VASPRINTF=0;           AC_SUBST([REPLACE_VASPRINTF])
+  HAVE_DECL_OBSTACK_PRINTF=1;    AC_SUBST([HAVE_DECL_OBSTACK_PRINTF])
+  REPLACE_OBSTACK_PRINTF=0;      AC_SUBST([REPLACE_OBSTACK_PRINTF])
+  REPLACE_FOPEN=0;               AC_SUBST([REPLACE_FOPEN])
+  REPLACE_FREOPEN=0;             AC_SUBST([REPLACE_FREOPEN])
+  HAVE_FSEEKO=1;                 AC_SUBST([HAVE_FSEEKO])
+  REPLACE_FSEEKO=0;              AC_SUBST([REPLACE_FSEEKO])
+  REPLACE_FSEEK=0;               AC_SUBST([REPLACE_FSEEK])
+  HAVE_FTELLO=1;                 AC_SUBST([HAVE_FTELLO])
+  REPLACE_FTELLO=0;              AC_SUBST([REPLACE_FTELLO])
+  REPLACE_FTELL=0;               AC_SUBST([REPLACE_FTELL])
+  REPLACE_FFLUSH=0;              AC_SUBST([REPLACE_FFLUSH])
+  REPLACE_FCLOSE=0;              AC_SUBST([REPLACE_FCLOSE])
+  HAVE_DECL_GETDELIM=1;          AC_SUBST([HAVE_DECL_GETDELIM])
+  HAVE_DECL_GETLINE=1;           AC_SUBST([HAVE_DECL_GETLINE])
+  REPLACE_GETLINE=0;             AC_SUBST([REPLACE_GETLINE])
+  REPLACE_PERROR=0;              AC_SUBST([REPLACE_PERROR])
 ])
 
 dnl Code shared by fseeko and ftello.  Determine if large files are supported,
@@ -70,8 +112,8 @@ AC_DEFUN([gl_STDIN_LARGE_OFFSET],
   [
     AC_CACHE_CHECK([whether stdin defaults to large file offsets],
       [gl_cv_var_stdin_large_offset],
-      [AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <stdio.h>],
-[#if defined __SL64 && defined __SCLE /* cygwin */
+      [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]],
+[[#if defined __SL64 && defined __SCLE /* cygwin */
   /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making
      fseeko/ftello needlessly fail.  This bug was fixed in 1.5.25, and
      it is easier to do a version check than building a runtime test.  */
@@ -79,7 +121,7 @@ AC_DEFUN([gl_STDIN_LARGE_OFFSET],
 # if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25)
   choke me
 # endif
-#endif])],
+#endif]])],
        [gl_cv_var_stdin_large_offset=yes],
        [gl_cv_var_stdin_large_offset=no])])
 ])
index d9240b46a0d48f72215f79207086444b87d3765c..582db13dffa0080a12b651d532b4ed8a2280aec7 100644 (file)
@@ -1,4 +1,4 @@
-# stdlib_h.m4 serial 6
+# stdlib_h.m4 serial 13
 dnl Copyright (C) 2007, 2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -8,6 +8,9 @@ AC_DEFUN([gl_STDLIB_H],
 [
   AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
   gl_CHECK_NEXT_HEADERS([stdlib.h])
+  AC_CHECK_TYPES([struct random_data],
+    [], [HAVE_STRUCT_RANDOM_DATA=0],
+    [[#include <stdlib.h>]])
 ])
 
 AC_DEFUN([gl_STDLIB_MODULE_INDICATOR],
@@ -22,24 +25,38 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
   GNULIB_MALLOC_POSIX=0;  AC_SUBST([GNULIB_MALLOC_POSIX])
   GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX])
   GNULIB_CALLOC_POSIX=0;  AC_SUBST([GNULIB_CALLOC_POSIX])
+  GNULIB_ATOLL=0;         AC_SUBST([GNULIB_ATOLL])
+  GNULIB_GETLOADAVG=0;    AC_SUBST([GNULIB_GETLOADAVG])
   GNULIB_GETSUBOPT=0;     AC_SUBST([GNULIB_GETSUBOPT])
   GNULIB_MKDTEMP=0;       AC_SUBST([GNULIB_MKDTEMP])
   GNULIB_MKSTEMP=0;       AC_SUBST([GNULIB_MKSTEMP])
   GNULIB_PUTENV=0;        AC_SUBST([GNULIB_PUTENV])
+  GNULIB_RANDOM_R=0;      AC_SUBST([GNULIB_RANDOM_R])
+  GNULIB_RPMATCH=0;       AC_SUBST([GNULIB_RPMATCH])
   GNULIB_SETENV=0;        AC_SUBST([GNULIB_SETENV])
   GNULIB_STRTOD=0;        AC_SUBST([GNULIB_STRTOD])
+  GNULIB_STRTOLL=0;       AC_SUBST([GNULIB_STRTOLL])
+  GNULIB_STRTOULL=0;      AC_SUBST([GNULIB_STRTOULL])
   GNULIB_UNSETENV=0;      AC_SUBST([GNULIB_UNSETENV])
   dnl Assume proper GNU behavior unless another module says otherwise.
-  HAVE_CALLOC_POSIX=1;    AC_SUBST([HAVE_CALLOC_POSIX])
-  HAVE_GETSUBOPT=1;       AC_SUBST([HAVE_GETSUBOPT])
-  HAVE_MALLOC_POSIX=1;    AC_SUBST([HAVE_MALLOC_POSIX])
-  HAVE_MKDTEMP=1;         AC_SUBST([HAVE_MKDTEMP])
-  HAVE_REALLOC_POSIX=1;   AC_SUBST([HAVE_REALLOC_POSIX])
-  HAVE_SETENV=1;          AC_SUBST([HAVE_SETENV])
-  HAVE_STRTOD=1;          AC_SUBST([HAVE_STRTOD])
-  HAVE_UNSETENV=1;        AC_SUBST([HAVE_UNSETENV])
-  REPLACE_MKSTEMP=0;      AC_SUBST([REPLACE_MKSTEMP])
-  REPLACE_PUTENV=0;       AC_SUBST([REPLACE_PUTENV])
-  REPLACE_STRTOD=0;       AC_SUBST([REPLACE_STRTOD])
-  VOID_UNSETENV=0;        AC_SUBST([VOID_UNSETENV])
+  HAVE_ATOLL=1;              AC_SUBST([HAVE_ATOLL])
+  HAVE_CALLOC_POSIX=1;       AC_SUBST([HAVE_CALLOC_POSIX])
+  HAVE_GETSUBOPT=1;          AC_SUBST([HAVE_GETSUBOPT])
+  HAVE_MALLOC_POSIX=1;       AC_SUBST([HAVE_MALLOC_POSIX])
+  HAVE_MKDTEMP=1;            AC_SUBST([HAVE_MKDTEMP])
+  HAVE_REALLOC_POSIX=1;      AC_SUBST([HAVE_REALLOC_POSIX])
+  HAVE_RANDOM_R=1;           AC_SUBST([HAVE_RANDOM_R])
+  HAVE_RPMATCH=1;            AC_SUBST([HAVE_RPMATCH])
+  HAVE_SETENV=1;             AC_SUBST([HAVE_SETENV])
+  HAVE_STRTOD=1;             AC_SUBST([HAVE_STRTOD])
+  HAVE_STRTOLL=1;            AC_SUBST([HAVE_STRTOLL])
+  HAVE_STRTOULL=1;           AC_SUBST([HAVE_STRTOULL])
+  HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA])
+  HAVE_SYS_LOADAVG_H=0;      AC_SUBST([HAVE_SYS_LOADAVG_H])
+  HAVE_UNSETENV=1;           AC_SUBST([HAVE_UNSETENV])
+  HAVE_DECL_GETLOADAVG=1;    AC_SUBST([HAVE_DECL_GETLOADAVG])
+  REPLACE_MKSTEMP=0;         AC_SUBST([REPLACE_MKSTEMP])
+  REPLACE_PUTENV=0;          AC_SUBST([REPLACE_PUTENV])
+  REPLACE_STRTOD=0;          AC_SUBST([REPLACE_STRTOD])
+  VOID_UNSETENV=0;           AC_SUBST([VOID_UNSETENV])
 ])
index 8796e9e02f945972b29a5476f308eab8408f28eb..0537def373024afcc889bc4c69eebfb08c9c18bc 100644 (file)
@@ -1,7 +1,6 @@
-# strdup.m4 serial 9
+# strdup.m4 serial 10
 
-dnl Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software
-dnl Foundation, Inc.
+dnl Copyright (C) 2002-2008 Free Software Foundation, Inc.
 
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -18,5 +17,22 @@ AC_DEFUN([gl_FUNC_STRDUP],
   gl_PREREQ_STRDUP
 ])
 
+AC_DEFUN([gl_FUNC_STRDUP_POSIX],
+[
+  AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
+  AC_REQUIRE([gl_CHECK_MALLOC_POSIX])
+  if test $gl_cv_func_malloc_posix != yes; then
+    REPLACE_STRDUP=1
+    AC_LIBOBJ([strdup])
+  else
+    AC_REPLACE_FUNCS(strdup)
+  fi
+  AC_CHECK_DECLS_ONCE(strdup)
+  if test $ac_cv_have_decl_strdup = no; then
+    HAVE_DECL_STRDUP=0
+  fi
+  gl_PREREQ_STRDUP
+])
+
 # Prerequisites of lib/strdup.c.
 AC_DEFUN([gl_PREREQ_STRDUP], [:])
index eb7d45aab205dd2c63a690ee2b56348fedb8e9ea..8c16ca9a879a5de8720a7651cf15ee5b22033adf 100644 (file)
@@ -1,5 +1,5 @@
-# strerror.m4 serial 7
-dnl Copyright (C) 2002, 2007 Free Software Foundation, Inc.
+# strerror.m4 serial 9
+dnl Copyright (C) 2002, 2007-2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -7,7 +7,7 @@ dnl with or without modifications, as long as this notice is preserved.
 AC_DEFUN([gl_FUNC_STRERROR],
 [
   AC_REQUIRE([gl_FUNC_STRERROR_SEPARATE])
-  if test $gl_cv_func_working_strerror = no; then
+  if test $REPLACE_STRERROR = 1; then
     AC_LIBOBJ([strerror])
     AC_DEFINE_UNQUOTED([REPLACE_STRERROR], [$REPLACE_STRERROR],
       [Define this to 1 if strerror is broken.])
@@ -18,25 +18,38 @@ AC_DEFUN([gl_FUNC_STRERROR],
 AC_DEFUN([gl_FUNC_STRERROR_SEPARATE],
 [
   AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
-  AC_CACHE_CHECK([for working strerror function],
-   [gl_cv_func_working_strerror],
-   [AC_RUN_IFELSE(
-      [AC_LANG_PROGRAM(
-        [#include <string.h>
-        ],
-        [return !*strerror (-2);])],
-      [gl_cv_func_working_strerror=yes],
-      [gl_cv_func_working_strerror=no],
-      [dnl Assume crossbuild works if it compiles.
-       AC_COMPILE_IFELSE(
-        [AC_LANG_PROGRAM(
-           [#include <string.h>
-           ],
-           [return !*strerror (-2);])],
-        [gl_cv_func_working_strerror=yes],
-        [gl_cv_func_working_strerror=no])])])
-  if test $gl_cv_func_working_strerror = no ; then
+  AC_REQUIRE([gl_HEADER_ERRNO_H])
+  if test -z "$ERRNO_H"; then
+    AC_CACHE_CHECK([for working strerror function],
+     [gl_cv_func_working_strerror],
+     [AC_RUN_IFELSE(
+        [AC_LANG_PROGRAM(
+           [[#include <string.h>
+           ]],
+           [[return !*strerror (-2);]])],
+        [gl_cv_func_working_strerror=yes],
+        [gl_cv_func_working_strerror=no],
+        [dnl Assume crossbuild works if it compiles.
+         AC_COMPILE_IFELSE(
+           [AC_LANG_PROGRAM(
+              [[#include <string.h>
+              ]],
+              [[return !*strerror (-2);]])],
+           [gl_cv_func_working_strerror=yes],
+           [gl_cv_func_working_strerror=no])
+      ])
+    ])
+    if test $gl_cv_func_working_strerror = no; then
+      dnl The system's strerror() fails to return a string for out-of-range
+      dnl integers. Replace it.
+      REPLACE_STRERROR=1
+    fi
+  else
+    dnl The system's strerror() cannot know about the new errno values we add
+    dnl to <errno.h>. Replace it.
     REPLACE_STRERROR=1
+  fi
+  if test $REPLACE_STRERROR = 1; then
     gl_PREREQ_STRERROR
   fi
 ])
@@ -44,4 +57,12 @@ AC_DEFUN([gl_FUNC_STRERROR_SEPARATE],
 # Prerequisites of lib/strerror.c.
 AC_DEFUN([gl_PREREQ_STRERROR], [
   AC_CHECK_DECLS([strerror])
+  AC_CHECK_HEADERS_ONCE([sys/socket.h])
+  if test $ac_cv_header_sys_socket_h != yes; then
+    dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make
+    dnl the check for those headers unconditional; yet cygwin reports
+    dnl that the headers are present but cannot be compiled (since on
+    dnl cygwin, all socket information should come from sys/socket.h).
+    AC_CHECK_HEADERS([winsock2.h])
+  fi
 ])
index 766d7e984948bb6bf9cc80e18bbc01e18cd8f8ea..2d5553c37441e6a5e6c492c41aa3bccf31a863eb 100644 (file)
@@ -5,7 +5,7 @@
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 4
+# serial 6
 
 # Written by Paul Eggert.
 
@@ -35,6 +35,7 @@ AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
   GNULIB_MEMMEM=0;      AC_SUBST([GNULIB_MEMMEM])
   GNULIB_MEMPCPY=0;     AC_SUBST([GNULIB_MEMPCPY])
   GNULIB_MEMRCHR=0;     AC_SUBST([GNULIB_MEMRCHR])
+  GNULIB_RAWMEMCHR=0;   AC_SUBST([GNULIB_RAWMEMCHR])
   GNULIB_STPCPY=0;      AC_SUBST([GNULIB_STPCPY])
   GNULIB_STPNCPY=0;     AC_SUBST([GNULIB_STPNCPY])
   GNULIB_STRCHRNUL=0;   AC_SUBST([GNULIB_STRCHRNUL])
@@ -62,10 +63,12 @@ AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
   GNULIB_MBSTOK_R=0;    AC_SUBST([GNULIB_MBSTOK_R])
   GNULIB_STRERROR=0;    AC_SUBST([GNULIB_STRERROR])
   GNULIB_STRSIGNAL=0;   AC_SUBST([GNULIB_STRSIGNAL])
+  GNULIB_STRVERSCMP=0;   AC_SUBST([GNULIB_STRVERSCMP])
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE_DECL_MEMMEM=1;          AC_SUBST([HAVE_DECL_MEMMEM])
   HAVE_MEMPCPY=1;              AC_SUBST([HAVE_MEMPCPY])
   HAVE_DECL_MEMRCHR=1;         AC_SUBST([HAVE_DECL_MEMRCHR])
+  HAVE_RAWMEMCHR=1;            AC_SUBST([HAVE_RAWMEMCHR])
   HAVE_STPCPY=1;               AC_SUBST([HAVE_STPCPY])
   HAVE_STPNCPY=1;              AC_SUBST([HAVE_STPNCPY])
   HAVE_STRCHRNUL=1;            AC_SUBST([HAVE_STRCHRNUL])
@@ -79,9 +82,11 @@ AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
   HAVE_DECL_STRTOK_R=1;                AC_SUBST([HAVE_DECL_STRTOK_R])
   HAVE_DECL_STRERROR=1;                AC_SUBST([HAVE_DECL_STRERROR])
   HAVE_DECL_STRSIGNAL=1;       AC_SUBST([HAVE_DECL_STRSIGNAL])
-  REPLACE_STRERROR=0;          AC_SUBST([REPLACE_STRERROR])
-  REPLACE_STRSIGNAL=0;         AC_SUBST([REPLACE_STRSIGNAL])
+  HAVE_STRVERSCMP=1;           AC_SUBST([HAVE_STRVERSCMP])
   REPLACE_MEMMEM=0;            AC_SUBST([REPLACE_MEMMEM])
-  REPLACE_STRCASESTR=0;                AC_SUBST([REPLACE_STRCASESTR])
+  REPLACE_STRDUP=0;            AC_SUBST([REPLACE_STRDUP])
   REPLACE_STRSTR=0;            AC_SUBST([REPLACE_STRSTR])
+  REPLACE_STRCASESTR=0;                AC_SUBST([REPLACE_STRCASESTR])
+  REPLACE_STRERROR=0;          AC_SUBST([REPLACE_STRERROR])
+  REPLACE_STRSIGNAL=0;         AC_SUBST([REPLACE_STRSIGNAL])
 ])
index f7934ef820a21a18a09e6dfe6f202813e065d47f..1be2a85c5e6c53ab065c1669784b806828efc77e 100644 (file)
@@ -1,5 +1,5 @@
-# strndup.m4 serial 14
-dnl Copyright (C) 2002-2003, 2005-2007 Free Software Foundation, Inc.
+# strndup.m4 serial 15
+dnl Copyright (C) 2002-2003, 2005-2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -18,8 +18,8 @@ AC_DEFUN([gl_FUNC_STRNDUP],
   # AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating '\0'.
   AC_CACHE_CHECK([for working strndup], gl_cv_func_strndup,
     [AC_RUN_IFELSE([
-       AC_LANG_PROGRAM([#include <string.h>
-                       #include <stdlib.h>], [[
+       AC_LANG_PROGRAM([[#include <string.h>
+                        #include <stdlib.h>]], [[
 #ifndef HAVE_DECL_STRNDUP
   extern char *strndup (const char *, size_t);
 #endif
index 53cbed21338c7ee006b915a902e5eb31730e212a..c9b8951e84dcba597718b9a6ca2f4c6a573c01a5 100644 (file)
@@ -1,17 +1,19 @@
-# strtoll.m4 serial 4
-dnl Copyright (C) 2002, 2004, 2006 Free Software Foundation, Inc.
+# strtoll.m4 serial 5
+dnl Copyright (C) 2002, 2004, 2006, 2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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_STRTOLL],
 [
+  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
   dnl We don't need (and can't compile) the replacement strtoll
   dnl unless the type 'long long int' exists.
   AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
   if test "$ac_cv_type_long_long_int" = yes; then
     AC_REPLACE_FUNCS(strtoll)
     if test $ac_cv_func_strtoll = no; then
+      HAVE_STRTOLL=0
       gl_PREREQ_STRTOLL
     fi
   fi
index fcec3de2ac4a33b93597d54959031e06592b8eaa..809d0bcbda40e46509515784d605d52ef986f4e5 100644 (file)
@@ -1,17 +1,19 @@
-# strtoull.m4 serial 4
-dnl Copyright (C) 2002, 2004, 2006 Free Software Foundation, Inc.
+# strtoull.m4 serial 5
+dnl Copyright (C) 2002, 2004, 2006, 2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free 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_STRTOULL],
 [
+  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
   dnl We don't need (and can't compile) the replacement strtoull
   dnl unless the type 'unsigned long long int' exists.
   AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT])
   if test "$ac_cv_type_unsigned_long_long_int" = yes; then
     AC_REPLACE_FUNCS(strtoull)
     if test $ac_cv_func_strtoull = no; then
+      HAVE_STRTOULL=0
       gl_PREREQ_STRTOULL
     fi
   fi
index 1bc08a17261f8785e7352a9b1c1a91ce48e48cbb..20c82edf931d700ee16f6cca4b66ef74cb318be6 100644 (file)
@@ -1,5 +1,5 @@
-# sys_stat_h.m4 serial 6   -*- Autoconf -*-
-dnl Copyright (C) 2006-2007 Free Software Foundation, Inc.
+# sys_stat_h.m4 serial 10   -*- Autoconf -*-
+dnl Copyright (C) 2006-2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -9,6 +9,8 @@ dnl Test whether <sys/stat.h> contains lstat and mkdir or must be substituted.
 
 AC_DEFUN([gl_HEADER_SYS_STAT_H],
 [
+  AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
+
   dnl Check for lstat.  Systems that lack it (mingw) also lack symlinks, so
   dnl stat is a good replacement.
   AC_CHECK_FUNCS_ONCE([lstat])
@@ -19,24 +21,7 @@ AC_DEFUN([gl_HEADER_SYS_STAT_H],
   fi
   AC_SUBST([HAVE_LSTAT])
 
-  dnl Check for mkdir.  Mingw has _mkdir(name) in the nonstandard <io.h>
-  dnl instead.
-  AC_CHECK_DECLS([mkdir],
-    [],
-    [AC_CHECK_HEADERS([io.h])],
-    [#include <sys/stat.h>])
-  if test $ac_cv_have_decl_mkdir = yes; then
-    HAVE_DECL_MKDIR=1
-  else
-    HAVE_DECL_MKDIR=0
-  fi
-  AC_SUBST([HAVE_DECL_MKDIR])
-  if test "$ac_cv_header_io_h" = yes; then
-    HAVE_IO_H=1
-  else
-    HAVE_IO_H=0
-  fi
-  AC_SUBST([HAVE_IO_H])
+  dnl For the mkdir substitute.
   AC_REQUIRE([AC_C_INLINE])
 
   dnl Check for broken stat macros.
@@ -45,4 +30,30 @@ AC_DEFUN([gl_HEADER_SYS_STAT_H],
   gl_CHECK_NEXT_HEADERS([sys/stat.h])
   SYS_STAT_H='sys/stat.h'
   AC_SUBST([SYS_STAT_H])
+
+  dnl Define types that are supposed to be defined in <sys/types.h> or
+  dnl <sys/stat.h>.
+  AC_CHECK_TYPE([nlink_t], [],
+    [AC_DEFINE([nlink_t], [int],
+       [Define to the type of st_nlink in struct stat, or a supertype.])],
+    [#include <sys/types.h>
+     #include <sys/stat.h>])
+
 ]) # gl_HEADER_SYS_STAT_H
+
+AC_DEFUN([gl_SYS_STAT_MODULE_INDICATOR],
+[
+  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
+  AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
+  GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
+])
+
+AC_DEFUN([gl_SYS_STAT_H_DEFAULTS],
+[
+  GNULIB_LCHMOD=0; AC_SUBST([GNULIB_LCHMOD])
+  GNULIB_LSTAT=0;  AC_SUBST([GNULIB_LSTAT])
+  dnl Assume proper GNU behavior unless another module says otherwise.
+  HAVE_LCHMOD=1;   AC_SUBST([HAVE_LCHMOD])
+  REPLACE_LSTAT=0; AC_SUBST([REPLACE_LSTAT])
+  REPLACE_MKDIR=0; AC_SUBST([REPLACE_MKDIR])
+])
index e8ccab16e837659cb30099432991a810bd7698cf..56852736566ce565ac27a5a449a4d35d744fb743 100644 (file)
@@ -1,4 +1,4 @@
-# unistd_h.m4 serial 11
+# unistd_h.m4 serial 16
 dnl Copyright (C) 2006-2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -32,22 +32,37 @@ AC_DEFUN([gl_UNISTD_MODULE_INDICATOR],
 
 AC_DEFUN([gl_UNISTD_H_DEFAULTS],
 [
-  GNULIB_CHOWN=0;         AC_SUBST([GNULIB_CHOWN])
-  GNULIB_DUP2=0;          AC_SUBST([GNULIB_DUP2])
-  GNULIB_ENVIRON=0;       AC_SUBST([GNULIB_ENVIRON])
-  GNULIB_FCHDIR=0;        AC_SUBST([GNULIB_FCHDIR])
-  GNULIB_FTRUNCATE=0;     AC_SUBST([GNULIB_FTRUNCATE])
-  GNULIB_GETCWD=0;        AC_SUBST([GNULIB_GETCWD])
-  GNULIB_GETLOGIN_R=0;    AC_SUBST([GNULIB_GETLOGIN_R])
-  GNULIB_GETPAGESIZE=0;   AC_SUBST([GNULIB_GETPAGESIZE])
-  GNULIB_LCHOWN=0;        AC_SUBST([GNULIB_LCHOWN])
-  GNULIB_LSEEK=0;         AC_SUBST([GNULIB_LSEEK])
-  GNULIB_READLINK=0;      AC_SUBST([GNULIB_READLINK])
-  GNULIB_SLEEP=0;         AC_SUBST([GNULIB_SLEEP])
+  GNULIB_CHOWN=0;            AC_SUBST([GNULIB_CHOWN])
+  GNULIB_CLOSE=0;            AC_SUBST([GNULIB_CLOSE])
+  GNULIB_DUP2=0;             AC_SUBST([GNULIB_DUP2])
+  GNULIB_ENVIRON=0;          AC_SUBST([GNULIB_ENVIRON])
+  GNULIB_EUIDACCESS=0;       AC_SUBST([GNULIB_EUIDACCESS])
+  GNULIB_FCHDIR=0;           AC_SUBST([GNULIB_FCHDIR])
+  GNULIB_FSYNC=0;            AC_SUBST([GNULIB_FSYNC])
+  GNULIB_FTRUNCATE=0;        AC_SUBST([GNULIB_FTRUNCATE])
+  GNULIB_GETCWD=0;           AC_SUBST([GNULIB_GETCWD])
+  GNULIB_GETDOMAINNAME=0;    AC_SUBST([GNULIB_GETDOMAINNAME])
+  GNULIB_GETDTABLESIZE=0;    AC_SUBST([GNULIB_GETDTABLESIZE])
+  GNULIB_GETHOSTNAME=0;      AC_SUBST([GNULIB_GETHOSTNAME])
+  GNULIB_GETLOGIN_R=0;       AC_SUBST([GNULIB_GETLOGIN_R])
+  GNULIB_GETPAGESIZE=0;      AC_SUBST([GNULIB_GETPAGESIZE])
+  GNULIB_GETUSERSHELL=0;     AC_SUBST([GNULIB_GETUSERSHELL])
+  GNULIB_LCHOWN=0;           AC_SUBST([GNULIB_LCHOWN])
+  GNULIB_LSEEK=0;            AC_SUBST([GNULIB_LSEEK])
+  GNULIB_READLINK=0;         AC_SUBST([GNULIB_READLINK])
+  GNULIB_SLEEP=0;            AC_SUBST([GNULIB_SLEEP])
+  GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE])
+  GNULIB_WRITE=0;            AC_SUBST([GNULIB_WRITE])
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE_DUP2=1;            AC_SUBST([HAVE_DUP2])
+  HAVE_EUIDACCESS=1;      AC_SUBST([HAVE_EUIDACCESS])
+  HAVE_FSYNC=1;           AC_SUBST([HAVE_FSYNC])
   HAVE_FTRUNCATE=1;       AC_SUBST([HAVE_FTRUNCATE])
+  HAVE_GETDOMAINNAME=1;   AC_SUBST([HAVE_GETDOMAINNAME])
+  HAVE_GETDTABLESIZE=1;   AC_SUBST([HAVE_GETDTABLESIZE])
+  HAVE_GETHOSTNAME=1;     AC_SUBST([HAVE_GETHOSTNAME])
   HAVE_GETPAGESIZE=1;     AC_SUBST([HAVE_GETPAGESIZE])
+  HAVE_GETUSERSHELL=1;    AC_SUBST([HAVE_GETUSERSHELL])
   HAVE_READLINK=1;        AC_SUBST([HAVE_READLINK])
   HAVE_SLEEP=1;           AC_SUBST([HAVE_SLEEP])
   HAVE_DECL_ENVIRON=1;    AC_SUBST([HAVE_DECL_ENVIRON])
@@ -55,9 +70,12 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   HAVE_OS_H=0;            AC_SUBST([HAVE_OS_H])
   HAVE_SYS_PARAM_H=0;     AC_SUBST([HAVE_SYS_PARAM_H])
   REPLACE_CHOWN=0;        AC_SUBST([REPLACE_CHOWN])
+  REPLACE_CLOSE=0;        AC_SUBST([REPLACE_CLOSE])
   REPLACE_FCHDIR=0;       AC_SUBST([REPLACE_FCHDIR])
   REPLACE_GETCWD=0;       AC_SUBST([REPLACE_GETCWD])
   REPLACE_GETPAGESIZE=0;  AC_SUBST([REPLACE_GETPAGESIZE])
   REPLACE_LCHOWN=0;       AC_SUBST([REPLACE_LCHOWN])
   REPLACE_LSEEK=0;        AC_SUBST([REPLACE_LSEEK])
+  REPLACE_WRITE=0;        AC_SUBST([REPLACE_WRITE])
+  UNISTD_H_HAVE_WINSOCK2_H=0; AC_SUBST([UNISTD_H_HAVE_WINSOCK2_H])
 ])
index 9ac9c3ea1ec66abf7e66e0113f5339165e7728af..01a3184ce251359d4a0aad7085dc6e30fa912f6e 100644 (file)
@@ -1,8 +1,11 @@
-dnl Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+dnl Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software
+dnl Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
+dnl serial 2
+
 AC_DEFUN([gl_UTIMENS],
 [
   AC_LIBOBJ([utimens])
@@ -11,5 +14,5 @@ AC_DEFUN([gl_UTIMENS],
   AC_REQUIRE([gl_FUNC_UTIMES])
   AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC])
   AC_REQUIRE([gl_CHECK_TYPE_STRUCT_UTIMBUF])
-  AC_CHECK_FUNCS_ONCE([futimes futimesat])
+  AC_CHECK_FUNCS_ONCE([futimes futimesat futimens utimensat])
 ])
index accc79f8c714d41d8414e33ae94fb1a59ec33a12..3b37d460b33eb069c3709b8ae6809eb816e3a53d 100644 (file)
@@ -1,5 +1,5 @@
-# vsnprintf.m4 serial 4
-dnl Copyright (C) 2002, 2003, 2004, 2007 Free Software Foundation, Inc.
+# vsnprintf.m4 serial 5
+dnl Copyright (C) 2002-2004, 2007-2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -7,8 +7,17 @@ dnl with or without modifications, as long as this notice is preserved.
 AC_DEFUN([gl_FUNC_VSNPRINTF],
 [
   AC_REQUIRE([gl_STDIO_H_DEFAULTS])
+  gl_cv_func_vsnprintf_usable=no
   AC_CHECK_FUNCS([vsnprintf])
-  if test $ac_cv_func_vsnprintf = no; then
+  if test $ac_cv_func_vsnprintf = yes; then
+    gl_SNPRINTF_SIZE1
+    case "$gl_cv_func_snprintf_size1" in
+      *yes)
+        gl_cv_func_vsnprintf_usable=yes
+        ;;
+    esac
+  fi
+  if test $gl_cv_func_vsnprintf_usable = no; then
     gl_REPLACE_VSNPRINTF
   fi
   AC_CHECK_DECLS_ONCE([vsnprintf])
index 70b1248f8fcfce58a93260c6cfb8ea7bf93ded61..5c923fa0e03e32d6d3fe1ac0f3aefb4396c459e8 100644 (file)
@@ -1,13 +1,13 @@
 dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues.
 
-dnl Copyright (C) 2007 Free Software Foundation, Inc.
+dnl Copyright (C) 2007-2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 dnl Written by Eric Blake.
 
-# wchar.m4 serial 4
+# wchar.m4 serial 6
 
 AC_DEFUN([gl_WCHAR_H],
 [
@@ -18,7 +18,16 @@ AC_DEFUN([gl_WCHAR_H],
 wchar_t w;]],
       [gl_cv_header_wchar_h_standalone=yes],
       [gl_cv_header_wchar_h_standalone=no])])
-  if test $gl_cv_header_wchar_h_standalone != yes; then
+
+  AC_REQUIRE([gt_TYPE_WINT_T])
+  if test $gt_cv_c_wint_t = yes; then
+    HAVE_WINT_T=1
+  else
+    HAVE_WINT_T=0
+  fi
+  AC_SUBST([HAVE_WINT_T])
+
+  if test $gl_cv_header_wchar_h_standalone != yes || test $gt_cv_c_wint_t != yes; then
     WCHAR_H=wchar.h
   fi
 
@@ -36,6 +45,13 @@ wchar_t w;]],
   gl_CHECK_NEXT_HEADERS([wchar.h])
 ])
 
+dnl Unconditionally enables the replacement of <wchar.h>.
+AC_DEFUN([gl_REPLACE_WCHAR_H],
+[
+  AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
+  WCHAR_H=wchar.h
+])
+
 AC_DEFUN([gl_WCHAR_MODULE_INDICATOR],
 [
   dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
@@ -49,6 +65,5 @@ AC_DEFUN([gl_WCHAR_H_DEFAULTS],
   dnl Assume proper GNU behavior unless another module says otherwise.
   HAVE_DECL_WCWIDTH=1; AC_SUBST([HAVE_DECL_WCWIDTH])
   REPLACE_WCWIDTH=0;   AC_SUBST([REPLACE_WCWIDTH])
-  WCHAR_H=
-  AC_SUBST([WCHAR_H])
+  WCHAR_H='';          AC_SUBST([WCHAR_H])
 ])
index 7483c4feaf521d8618d7da883e32b45f9a806729..6a1b6f07f482838d4e2faeafa7474c368336d716 100644 (file)
@@ -1,6 +1,8 @@
+# wctype.m4 serial 2
+
 dnl A placeholder for ISO C99 <wctype.h>, for platforms that lack it.
 
-dnl Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+dnl Copyright (C) 2006-2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -9,6 +11,7 @@ dnl Written by Paul Eggert.
 
 AC_DEFUN([gl_WCTYPE_H],
 [
+  AC_REQUIRE([AC_PROG_CC])
   AC_CHECK_FUNCS_ONCE([iswcntrl])
   if test $ac_cv_func_iswcntrl = yes; then
     HAVE_ISWCNTRL=1
@@ -30,7 +33,27 @@ AC_DEFUN([gl_WCTYPE_H],
   WCTYPE_H=wctype.h
   if test $ac_cv_header_wctype_h = yes; then
     if test $ac_cv_func_iswcntrl = yes; then
-      WCTYPE_H=
+      dnl Linux libc5 has an iswprint function that returns 0 for all arguments.
+      dnl The other functions are likely broken in the same way.
+      AC_CACHE_CHECK([whether iswcntrl works], [gl_cv_func_iswcntrl_works],
+        [
+          AC_TRY_RUN([#include <stddef.h>
+                      #include <stdio.h>
+                      #include <time.h>
+                      #include <wchar.h>
+                      #include <wctype.h>
+                      int main () { return iswprint ('x') == 0; }],
+            [gl_cv_func_iswcntrl_works=yes], [gl_cv_func_iswcntrl_works=no],
+            [AC_TRY_COMPILE([#include <stdlib.h>
+                          #if __GNU_LIBRARY__ == 1
+                          Linux libc5 i18n is broken.
+                          #endif], [],
+              [gl_cv_func_iswcntrl_works=yes], [gl_cv_func_iswcntrl_works=no])
+            ])
+        ])
+      if test $gl_cv_func_iswcntrl_works = yes; then
+        WCTYPE_H=
+      fi
     fi
     dnl Compute NEXT_WCTYPE_H even if WCTYPE_H is empty,
     dnl for the benefit of builds from non-distclean directories.
@@ -41,4 +64,11 @@ AC_DEFUN([gl_WCTYPE_H],
   fi
   AC_SUBST([HAVE_WCTYPE_H])
   AC_SUBST([WCTYPE_H])
+
+  if test "$gl_cv_func_iswcntrl_works" = no; then
+    REPLACE_ISWCNTRL=1
+  else
+    REPLACE_ISWCNTRL=0
+  fi
+  AC_SUBST([REPLACE_ISWCNTRL])
 ])
index 04a9fc270b24a10e2ec77e4d5d63322649c62e8c..4bedefae69a34cb83f474c8fab1c54087b830f42 100644 (file)
@@ -1,5 +1,5 @@
-# wcwidth.m4 serial 13
-dnl Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+# wcwidth.m4 serial 14
+dnl Copyright (C) 2006-2008 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
@@ -80,6 +80,6 @@ int main ()
   fi
 
   if test $REPLACE_WCWIDTH = 1 || test $HAVE_DECL_WCWIDTH = 0; then
-    WCHAR_H=wchar.h
+    gl_REPLACE_WCHAR_H
   fi
 ])
diff --git a/m4/write.m4 b/m4/write.m4
new file mode 100644 (file)
index 0000000..812b19b
--- /dev/null
@@ -0,0 +1,20 @@
+# write.m4 serial 1
+dnl Copyright (C) 2008 Free Software Foundation, Inc.
+dnl This file is free software; the Free 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_WRITE],
+[
+  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
+  dnl This ifdef is just an optimization, to avoid performing a configure
+  dnl check whose result is not used. It does not make the test of
+  dnl GNULIB_UNISTD_H_SIGPIPE or GNULIB_SIGPIPE redundant.
+  m4_ifdef([gl_SIGNAL_SIGPIPE], [
+    gl_SIGNAL_SIGPIPE
+    if test $gl_cv_header_signal_h_SIGPIPE != yes; then
+      REPLACE_WRITE=1
+      AC_LIBOBJ([write])
+    fi
+  ])
+])
index f32845d55f528220aba75ec636eba54237034c9b..0dc4e4a00eb7f6b7408794271450f339c6611363 100644 (file)
Binary files a/po/bg.gmo and b/po/bg.gmo differ
index b5d7e883d489265c29a474a6f38b748fb761480b..1e9e5c9aebb75c1dcaa334f2d660eff66a3fa6f8 100644 (file)
--- a/po/bg.po
+++ b/po/bg.po
@@ -13,7 +13,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.16\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\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"
@@ -87,7 +87,7 @@ msgstr " [ОПЦИЯ...]"
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr "Използвайте „%s --help“ or „%s --usage“ за повече информация.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
@@ -98,15 +98,15 @@ msgstr ""
 msgid "Unknown system error"
 msgstr "Непозната системна грешка"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr "показва тази справка"
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr "показва кратко съобщение за използването"
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr "ИМЕ"
@@ -119,11 +119,11 @@ msgstr "посочва името на програмата"
 msgid "SECS"
 msgstr "СЕК"
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr "спира за СЕК секунди (подразбира се 3600)"
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr "показва версията на програмата"
 
@@ -141,7 +141,7 @@ msgstr "%s: Твърде много аргументи\n"
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(ДЕФЕКТ В ПРОГРАМАТА) Опцията би трябвало да е била разпозната!?"
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr ""
 
@@ -200,16 +200,16 @@ msgstr "%s: опцията „-W %s“ е двусмислена\n"
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: опцията „-W %s“ не допуска аргумент\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "паметта е изчерпана"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Не може да се смени работният каталог"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Не може да се запази работният каталог"
@@ -330,11 +330,23 @@ msgstr "„"
 msgid "'"
 msgstr "“"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr "^[дДoOyY]"
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr "^[нНkKnN]"
 
@@ -535,104 +547,104 @@ msgstr "Преждевременен край на файла"
 msgid "Garbage command"
 msgstr "Непозната команда"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Това не прилича на tar-архив"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 msgid "Total bytes written"
 msgstr "Общо записани байтове"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr "Общо прочетени байтове"
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Общо изтрити байтове: %s\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(канал)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "Неправилна стойност на record_size"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Не е посочено име на архив"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Не може да се проверяват архиви на стандартните вход/изход"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Архивът е компресиран.  Използвайте опцията %s"
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Не може да се актуализират компресирани архиви"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "В началото на лентата, край на изпълнението"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Твърде много грешки, край на изпълнението"
 
-#: src/buffer.c:678
-#, 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:698
+#: src/buffer.c:695
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Размер на записа = %lu блок"
 msgstr[1] "Размер на записа = %lu блока"
 
-#: src/buffer.c:771
+#: src/buffer.c:716
+#, 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:793
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 "Невъзможно е връщане назад в архивния файл; той може да е нечитаем без опция "
 "-i"
 
-#: src/buffer.c:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek не завърши при граница на запис"
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: съдържа неправилен номер на том"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Препълване на номера на том"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Подгответе том №%d за %s и натиснете return: "
 
-#: src/buffer.c:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "EOF, когато се очакваше отговор от потребителя"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "ВНИМАНИЕ: Архивът е незавършен"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -644,65 +656,66 @@ msgstr ""
 " q             Прекратява tar\n"
 " y или return  Продължава изпълнението\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Поражда вторична командна обвивка\n"
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Извежда този списък\n"
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Няма повече томове; изход.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr "Не е посочено име на файл.  Опитайте отново.\n"
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Неправилна команда.  Използвайте ? за справка.\n"
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, c-format
 msgid "%s command failed"
 msgstr "командата %s не успя"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s вероятно продължава в този том: заглавният запис съдържа отрязано име"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s не продължава с този том"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s е грешен размер (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Този том е извън поредицата"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Архивът не е етикетиран да отговаря на %s"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Томът %s не съответства на %s"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -710,6 +723,11 @@ msgstr ""
 "%s: името на файла е твърде дълго, за да се побере в заглавен запис на "
 "многотомен ГНУ-архив и бе съкратено"
 
+#: src/buffer.c:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "EOF на архив %s не е на границата на блок"
+
 #: src/compare.c:96
 #, c-format
 msgid "Could only read %lu of %lu byte"
@@ -721,8 +739,8 @@ msgstr[1] "Само %lu от %lu байта можаха да се прочет
 msgid "Contents differ"
 msgstr "Съдържанието се различава"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Неочакван знак за край (EOF) в архива"
 
@@ -841,7 +859,7 @@ msgstr[1] "%s: Файлът намаля с %s байта; допълва се 
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: файлът е в друга файлова система; не се архивира"
 
-#: src/create.c:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr ""
 
@@ -870,7 +888,7 @@ msgstr "%s: файлът е архив; не се архивира"
 msgid "%s: File removed before we read it"
 msgstr "%s: Файлът бе изтрит преди да бъде прочетен"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 #, fuzzy
 msgid "directory not dumped"
 msgstr "%s: каталогът е обозначен като кеш; не се архивира"
@@ -923,165 +941,165 @@ msgstr ""
 msgid "Extracting contiguous files as regular files"
 msgstr "Продължаващи файлове се извличат като обикновени файлове"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Опитва се извличането на символни връзки като твърди"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Чете се %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Не може да се извлича -- файлът продължава с друг том"
 
-#: src/extract.c:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 msgid "Unexpected long name header"
 msgstr "Неочаквано дълъг заглавен запис"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
 msgstr "%s: Непознат файлов тип „%c“, извлича се като обикновен файл"
 
-#: src/extract.c:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Текущият %s е по-нов или със същата възраст"
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Не можа да се направи резервно копие на този файл"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Бе невъзможно %s да се преименува на %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "Грешката е непоправима: край на изпълнението"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Каталогът бе преименуват от %s"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Каталогът бе преименуван"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Каталогът е нов"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Записано е неправилно време"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 msgid "Invalid modification time (seconds)"
 msgstr "Неправилно време на промяна (секунди)"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr "Неправилно време на промяна (наносекунди)"
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Неправилен номер на устройство"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Неправилен номер на i-възел"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr "Твърде дълго поле при четене на snapshot-файл"
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr "Грешка при четене в snapshot-файл"
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 msgid "Unexpected EOF in snapshot file"
 msgstr "Неочакван край на snapshot-файл"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr "Неочаквана стойност на поле в snapshot-файл"
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr "Липсва завършител на записа"
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr "Грешен инкрементален файлов формат"
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Неподдържана версия на инкрементален формат: %<PRIuMAX>"
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "Лошо формиран dumpdir: очаква се „%c“, а вместо това има %#3o"
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Лошо формиран dumpdir: „X“ е дублиран"
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Лошо формиран dumpdir: празно име в „R“"
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr "Лошо формиран dumpdir: „T“ не се предхожда от „R“"
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Лошо формиран dumpdir: празно име в „T“"
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr "Лошо формиран dumpdir: очаква се „%c“, вместо това данните свършват"
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Лошо формиран dumpdir: „X“ никога не се използва"
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Не може да се създаде временен каталог, използвайки шаблона %s"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Каталогът не се изчиства: не може да се достъпи"
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: каталогът е на друго устройство: не се изчиства"
 
-#: src/incremen.c:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Изтрива се %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Не може да се изтрие"
@@ -1101,19 +1119,19 @@ msgstr "блок %s: ** Блок от знаци NUL **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "блок %s: ** Край на файла **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "блок %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1121,69 +1139,69 @@ msgstr ""
 "е допълнение до две"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:728
+#: src/list.c:737
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Осмичната стойност %.*s в архива е извън диапазона за %s"
 
-#: src/list.c:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Архивът съдържа архаични заглавни записи по модул 64 (6 битови)"
 
-#: src/list.c:763
+#: src/list.c:772
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr ""
 "Архивът е подписан с низ по модул 64 %s, който е е извън диапазона за %s"
 
-#: src/list.c:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Стойността %s в архива е извън допустимия диапазон за %s (%s..%s)"
 
-#: src/list.c:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " връзка към %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " непознат файлов тип %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Дълга връзка--\n"
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Дълго име--\n"
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Заглавен запис на тома--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Продължава при байт %s--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Създава се каталог:"
 
@@ -1220,24 +1238,24 @@ msgstr "междупроцесен канал"
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr "Във файловите имена са използвани „*“ и „?“.  Моля,"
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr "използвайте --wildcards, за да позволите съпоставяне с образци,"
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr "или --no-wildcards, за да не се извежда това предупреждение."
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Не е открит в архива"
 
-#: src/names.c:621
+#: src/names.c:615
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Необходимо срещане не е открито в архива"
@@ -1264,7 +1282,7 @@ msgstr ""
 "Непознат начин за извеждане на спец. знаци „%s“. Използвайте „%s --quoting-"
 "style=help“, за да получите списък."
 
-#: src/tar.c:334
+#: src/tar.c:336
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1283,7 +1301,7 @@ msgstr ""
 "tar\n"
 "  tar -xf архив.tar            # Извлича от архив.tar всички файлове\n"
 
-#: src/tar.c:343
+#: src/tar.c:345
 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 "
@@ -1305,86 +1323,86 @@ msgstr ""
 "иначе\n"
 "  never, simple   винаги да се правят прости резервни копия\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr "Вид основно действие:"
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr "изрежда съдържанието на архив"
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr "извлича файлове от архива"
 
-#: src/tar.c:377
+#: src/tar.c:379
 msgid "create a new archive"
 msgstr "създава нов архив"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr "намира разликите между архива и файловата система"
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr "добавя файлове в края на архив"
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr "добавя само файлове, по-нови от копието в архива"
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr "прибавя tar-файлове към архива"
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "трие файлове от архива (не при магнитни ленти!)"
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr "проверява етикета на тома и завършва"
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr "Модификатори на действието:"
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr "работи ефективно с разредени файлове"
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr "ГОЛЯМ[.МАЛЪК]"
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr "определя версията на формата разредени файлове (влече --sparse)"
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr "със стар формат ГНУ за инкрементално архивиране"
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr "ФАЙЛ"
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr "с новия формат на ГНУ за инкрем. архивиране"
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr "при нечитаеми файлове не завършва с грешка"
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr "N"
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1396,118 +1414,118 @@ msgstr ""
 "list и когато списъкът от файлове е зададен или на командния ред, или с "
 "опция -T.  Ако не е посочен N, се подразбира 1."
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr "архивът е с произволен достъп"
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr "Регулиране заместването на файлове:"
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr "след записа опитва да провери архива"
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr "изтрива файловете след като ги добави в архива"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr "при извличане не замества съществуващи файлове"
 
-#: src/tar.c:435
+#: src/tar.c:437
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 "не замества съществуващи файлове, ако са по-нови от копията им в архива"
 
-#: src/tar.c:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr "при извличане замества съществуващи файлове"
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr "изтрива всеки файл преди да извлича върху него"
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr "изпразва йерархията преди извличане на каталог"
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr "запазва метаданните на съществуващи каталози"
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 "при извличане замества метаданните на съществуващи каталози (подразбира се)"
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr "Избор на изходен поток:"
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
 msgstr "извлича файловете на стандартния изход"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr "КОМАНДА"
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr "подава с канал всеки извлечен файл към КОМАНДА"
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr "игнорира кода на завършване на породени процеси"
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr "счита за грешка всеки ненулев код на завършване на породен процес"
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr "Подход спрямо файловите атрибути:"
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr "прави ИМЕ да е собственик на добавените файлове"
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr "прави ИМЕ да бъде групата на добавените файлове"
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr "ДАТА-ИЛИ-ФАЙЛ"
 
-#: src/tar.c:472
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "прави времето на промяна на добавяни файлове като ДАТА-ИЛИ-ФАЙЛ"
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr "ПРОМЕНИ"
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "модифицира режима за достъп на добавени файлове"
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr "МЕТОД"
 
-#: src/tar.c:477
+#: src/tar.c:479
 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 "
@@ -1517,29 +1535,29 @@ msgstr ""
 "времената след четене (при МЕТОД=„replace“, подразбира се), или не променя "
 "имената изобщо (МЕТОД=„system“)"
 
-#: src/tar.c:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr "не извлича времето на промяна на файловете"
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr "опитва да възстановява собствеността на файловете"
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr "извлича файловете от ваше име"
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr "използва числа вместо имена за потребител и група"
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 "възстановява точно (без umask) режима на достъп (подразбира се при "
 "привилегирован потребител)"
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1547,15 +1565,15 @@ msgstr ""
 "прилага umask на потребителя при извличане на файлове (подразбира се при "
 "обикновен потребител)"
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr "файловете за извличане са сортирани според архива"
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr "същото като едновременно -p и -s"
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1563,139 +1581,139 @@ msgstr ""
 "забавя настройката на времето на промяна и режима за достъп на извличаните "
 "каталози докато извличането завърши"
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "отменя ефекта на --delay-directory-restore"
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr "Избор на устройство и смяна:"
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr "АРХИВ"
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr "използва архивния файл или устройство АРХИВ"
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
 msgstr "архивният файл е локален дори при двуеточие"
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "използва посочената КОМАНДА вместо rmt"
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr "използва посочената КОМАНДА вместо rsh"
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr "посочва устройство и гъстота"
 
-#: src/tar.c:535
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
 msgstr "създава/извежда/извлича многотомен архив"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "смяна на лентата след запис на 1024 x N байта"
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr "изпълнява скрипт в края на всяка лента (влече -M)"
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr "ползва от и обновява във ФАЙЛ номера на тома"
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr "Блокуване на устройството:"
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr "БЛОКОВЕ"
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr "БЛОКОВЕ x 512 байта в секунда"
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "прави N-байтови записи, кратно на 512"
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "пренебрегва блоковете от нули и продължава"
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "преформира при четене блоковете (канали 4.2BSD)"
 
-#: src/tar.c:561
+#: src/tar.c:563
 msgid "Archive format selection:"
 msgstr "Избор на архивен формат:"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr "ФОРМАТ"
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr "създава архив с посочения формат"
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr "ФОРМАТ е някой от следните:"
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr "стар формат tar, V7"
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr "формат на ГНУ при tar <= 1.12"
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr "формат на версия 1.13.x на tar на ГНУ"
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "формат POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "формат POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr "същото като pax"
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr "същото като --format=v7"
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr "същото като --format=posix"
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "ключдума[[:]=стойност][,ключдума[[:]=стойност]]..."
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr "управляващи ключови думи за pax"
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr "ТЕКСТ"
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1703,180 +1721,193 @@ msgstr ""
 "създава архив с име на том ТЕКСТ; при извеждане или извличане сравнява името "
 "на тома с ТЕКСТ"
 
-#: src/tar.c:592
+#: src/tar.c:594
 #, fuzzy
 msgid "Compression options:"
 msgstr "Противоречащи си опции за компресиране"
 
-#: src/tar.c:594
+#: src/tar.c:596
 #, fuzzy
 msgid "use archive suffix to determine the compression program"
 msgstr "Не може да се пише към компресиращата програма"
 
-#: src/tar.c:596
+#: src/tar.c:598
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr "прекарва архива през bzip2"
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr "прекарва архива през gzip"
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr "прекарва архива през compress"
 
-#: src/tar.c:605
+#: src/tar.c:610
 #, fuzzy
 msgid "filter the archive through lzma"
 msgstr "прекарва архива през gzip"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "прекарва архива през gzip"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr "ПРОГ"
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr "прекарва архива през ПРОГ (трябва да приема -d)"
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr "Избор на локален файл:"
 
-#: src/tar.c:615
+#: src/tar.c:622
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 "добавя посочения ФАЙЛ към архива (полезно е, ако името му започва с минус)"
 
-#: src/tar.c:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr "КАТ"
 
-#: src/tar.c:617
+#: src/tar.c:624
 msgid "change to directory DIR"
 msgstr "работи в каталога КАТ"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr "взема имената за извличане или създаване от ФАЙЛ"
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr "-T чете имена, завършващи с нулев байт"
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr "декодира „\\“ във файловите имена на -T (подразб.)"
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr "не декодира „\\“ във файловите имена на -T"
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "ОБРАЗЕЦ"
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr "без файловете, отговарящи на ОБРАЗЕЦ"
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr "пропуска файловете, отговарящи на образци в ФАЙЛ"
 
-#: src/tar.c:631
+#: src/tar.c:640
 #, fuzzy
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr "без каталози, обозначени като кеширащи"
 
-#: src/tar.c:634
+#: src/tar.c:643
 #, fuzzy
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "без каталози, обозначени като кеширащи"
 
-#: src/tar.c:637
+#: src/tar.c:646
 #, fuzzy
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "без каталози, обозначени като кеширащи"
 
-#: src/tar.c:639
+#: src/tar.c:648
 #, fuzzy
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr "без каталози, обозначени като кеширащи"
 
-#: src/tar.c:642
+#: src/tar.c:651
 #, fuzzy
 msgid "exclude everything under directories containing FILE"
 msgstr "без каталози, обозначени като кеширащи"
 
-#: src/tar.c:644
+#: src/tar.c:653
 #, fuzzy
 msgid "exclude directories containing FILE"
 msgstr "без каталози, обозначени като кеширащи"
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr "без автоматично влизане в подкаталозите"
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr "работи в рамките на локалната файлова система"
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr "влиза рекурсивно в подкаталозите (подразбира се)"
 
-#: src/tar.c:654
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
 msgstr "не маха „/“ в началото на файлови имена"
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "следва симв. връзки; архивира сочените файлове"
 
-#: src/tar.c:658
+#: src/tar.c:667
 #, fuzzy
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "следва симв. връзки; архивира сочените файлове"
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr "ЧЛЕН-ИМЕ"
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr "започва от файл с име ЧЛЕН-ИМЕ в архива"
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "съхранява само файлове, по-нови от ДАТА-ИЛИ-ФАЙЛ"
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr "ДАТА"
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr "сравнява времето само ако данните са променени"
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr "МЕТОД"
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr "резервно копира съществуващи файлове с МЕТОД"
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr "НИЗ"
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -1885,89 +1916,89 @@ msgstr ""
 "освен ако не е бил сменен с променливата от обкръжението "
 "SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr "Промени на файловите имена:"
 
-#: src/tar.c:676
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "при извличане маха N начални каталози от файловите пътеки"
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr "ИЗРАЗ"
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 "преобразува файловите имена, използвайки посочения ИЗРАЗ за замяна на sed"
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 "Съпоставяне с файлови имена (влияе и на включващи, и на изключващи образци):"
 
-#: src/tar.c:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr "пренебрегва разликата между големи/малки букви"
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr "съпоставянето с образците започва от началото на файловото име"
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr "съпоставянето започва след кой да е „/“ (подразбира се при изключване)"
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr "отчита се разликата между малки и големи букви (подразбира се)"
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr "ползва „*“ и „?“ (подразбира се за изключване)"
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr "дословно низово сравнение"
 
-#: src/tar.c:699
+#: src/tar.c:709
 msgid "wildcards do not match `/'"
 msgstr "„/“ не пасва с „*“ и „?“"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr "„/“ пасва с „*“ и „?“ (подразб. за изключване)"
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr "Извеждане на информация:"
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr "подробно изрежда обработените файлове"
 
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "извежда напредъка след всеки N-ти запис (подразбира се 10)"
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr "съобщава, ако не всички твърди връзки са включени"
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr "СИГНАЛ"
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1978,27 +2009,27 @@ msgstr ""
 "извежда текущите байтове при получаване на СИГНАЛ.  Допустими СИГНАЛи са "
 "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 и SIGUSR2; имената без SIG също са позволени"
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr "извежда времената по Гринуич"
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr "изпраща подробния изход във ФАЙЛ"
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr "показва номера на блок в архива с всяко съобщение"
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr "изисква потвърждение за всяко действие"
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr "показва подразбираното от tar"
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2006,32 +2037,32 @@ msgstr ""
 "при извеждане или извличане изрежда всеки каталог, който се пропуска по "
 "някаква причина"
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr "показва преобразуваните файлови имена в архива"
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr "НАЧИН"
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 "начин за цитиране на специални знаци; вж. по-долу за стойностите на НАЧИН"
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr "работи и със знаците от НИЗ като със специални"
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr "не работи със знаците от НИЗ като със специални"
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr "Опции за съвместимост:"
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2039,56 +2070,56 @@ msgstr ""
 "при създаване е същото като --old-archive; при извличане е същото като --no-"
 "same-owner"
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr "Други опции:"
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr "забранява някои потенциално опасни опции"
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Не може да се използва повече от една опция „-Acdtrux“"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Противоречащи си опции за компресиране"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Непознато име на сигнал: %s"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 msgid "Date sample file not found"
 msgstr "Не е открит еталлонният файл за дата"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Използва се %s вместо непознатия файлов формат за дата %s"
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr "Опция %s: Датата „%s“ се разглежда като %s"
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, c-format
 msgid "%s: file list already read"
 msgstr "%s: файловият списък вече е прочетен"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: файловото име съдържа нулев байт"
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr "Правилни аргументи за опциите --quoting-style са:"
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2096,152 +2127,166 @@ msgstr ""
 "\n"
 "*Този* tar подразбира следното:\n"
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Неправилен фактор за блокуване"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr "Внимание: опцията -I не се поддържа. Може би имате предвид -j или -T?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Неправилна дължина на лента"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Повече от една ограничителна дата"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr "Неправилна версия на формат разредени файлове"
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' не се поддържа на тази платформа"
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr "стойността на --checkpoint не е цяло число"
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: Неправилна група"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "На опция е подаден неправилен режим"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr "Неправилно число"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Неправилен собственик"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Неправилен размер на запис"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Размерът на запис трябва да е кратен на %d."
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr "Неправилен брой елементи"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr "Позволява се само една опция --to-command"
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Лошо образуван аргумент за гъстота: %s"
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
 msgstr "Непозната гъстота: „%c“"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, c-format
 msgid "Options `-[0-7][lmh]' not supported by *this* tar"
 msgstr "Опциите „-[0-7][lmh]“ не се поддържат от *този* tar"
 
-#: src/tar.c:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr "[ФАЙЛ]..."
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "Старата опция „%c“ изисква аргумент."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr "без списък файлове опцията --occurrence е безсмислена"
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr "не може да се използва --occurrence при пожелания начин на работа"
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 msgid "Multiple archive files require `-M' option"
 msgstr "Използването на много архивни файлове изисква опция „-M“"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "Не може да се съчетават --listed-incremental с --newer"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Не може да се проверяват многотомни архиви"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Не може да се проверяват компресирани архиви"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Не може да се използват многотомни компресирани архиви"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 msgid "Cannot concatenate compressed archives"
 msgstr "Не може да се съединяват компресирани архиви"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 "опцията --pax-option може да се използва само при архиви във формат POSIX"
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Страхлив отказ да се създава празен архив"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "Опциите „-Aru“ са несъвместими с „-f -“"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Трябва да посочите поне една от опциите „-Acdtrux“"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Изходът с грешка бе забавен поради предхождащи грешки"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, c-format
@@ -2250,53 +2295,53 @@ msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Файлът намаля с %s байт"
 msgstr[1] "%s: Файлът намаля с %s байта"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Ключовата дума %s е непозната или все още не е реализирана"
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Образецът %s не може да се използва"
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Ключовата дума %s не може да се отмени"
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr "Лошо формиран разширен заглавен запис: не е посочена дължина"
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr "Дължината на разширен заглавен запис е извън допустимия диапазон"
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Дължината %*s на разширен заглавен запис е извън допустимия диапазон"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr "Лошо формиран разширен заглавен запис: липсва интервал след дължината"
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr "Лошо формиран разширен заглавен запис: липсва знак за равенство"
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr "Лошо формиран разширен заглавен запис: липсва знак за нов ред"
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr ""
 "Пренебрегва се непознатата ключова дума „%s“ за разширен заглавен запис"
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2305,28 +2350,28 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:812
+#: src/xheader.c:810
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Разширеният заглавен запис %s=%s е извън диапазона %s..%s"
 
-#: src/xheader.c:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Неправилно формиран разширен заглавен запис: неправилен %s=%s"
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Неправилно формиран разширен заглавен запис: прекомерен %s=%s"
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 "Лошо формиран разширен заглавен запис: неправилен %s; очаква се разделител %c"
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2504,103 +2549,117 @@ msgstr "Номер извън допустимия диапазон: %s"
 msgid "Negative size: %s"
 msgstr "Отрицателен размер: %s"
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr "не успя stat(%s)"
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Грешка при анализа на число до „%s“"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, c-format
 msgid "Unknown date format"
 msgstr "Непознат формат за дата"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr "[АРГУМ...]"
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
 msgstr "Не може да се отвори „%s“"
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 #, fuzzy
 msgid "cannot seek"
 msgstr "Не може да се изпълни %s"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr "името на файла съдържа нулев байт"
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "не може да се създават разредени файлове на стандартния изход, използвайте "
 "опцията --file"
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "неправилна маска (до „%s“)"
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Непознато поле „%s“"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "не може да се смени времето на „%s“"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Командата завърши успешно\n"
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Командата завърши с код %d\n"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Командата бе прекратена със сигнал %d\n"
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Командата бе спряна със сигнал %d\n"
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Командата генерира core\n"
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr "Командата бе прекратена\n"
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat изисква файлови имена"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr "твърде много аргументи"
 
+#, fuzzy
+#~ msgid "cancel effect of the previous --transform-links option"
+#~ msgstr "отменя ефекта на --delay-directory-restore"
+
 #~ msgid "block size"
 #~ msgstr "блоковият размер"
 
@@ -2630,6 +2689,9 @@ msgstr "твърде много аргументи"
 #~ msgid "[.]NUMBER"
 #~ msgstr "[.]N"
 
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Изходът с грешка бе забавен поради предхождащи грешки"
+
 #~ msgid "Time stamp out of range"
 #~ msgstr "Записано е време извън допустимия диапазон"
 
@@ -2718,9 +2780,6 @@ msgstr "твърде много аргументи"
 #~ msgid "WARNING: No volume header"
 #~ msgstr "ВНИМАНИЕ: Томът е без заглавна част"
 
-#~ msgid "Archive %s EOF not on block boundary"
-#~ msgstr "EOF на архив %s не е на границата на блок"
-
 #~ msgid "Only read %d bytes from archive %s"
 #~ msgstr "Прочетени са само %d байта от архив %s"
 
index 1ef796060b33a1dd4b37fd7437bc43caa30f2f57..77d2d0db77dfdc87e762404bb59cd66728f5d45c 100644 (file)
Binary files a/po/cs.gmo and b/po/cs.gmo differ
index fd2405e8840cbe8f9c865a434e219efd0b9398b6..0ff1824d1767ec486c9fbff5337b0c995262a49d 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -15,7 +15,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.13.21\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
 "PO-Revision-Date: 2001-09-01 10:55+0200\n"
 "Last-Translator: Vladimir Michl <Vladimir.Michl@seznam.cz>\n"
 "Language-Team: Czech <cs@li.org>\n"
@@ -89,7 +89,7 @@ msgstr ""
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr "Více informací získáte pøíkazem `%s --help'.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, fuzzy, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
@@ -101,15 +101,15 @@ msgstr ""
 msgid "Unknown system error"
 msgstr "Neznámá systémová chyba"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr ""
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr ""
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr ""
@@ -122,11 +122,11 @@ msgstr ""
 msgid "SECS"
 msgstr ""
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr ""
 
@@ -144,7 +144,7 @@ msgstr "%s: p
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr ""
 
@@ -203,16 +203,16 @@ msgstr "%s: p
 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"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "pamì» vyèerpána"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Pracovní adresáø nelze zmìnit"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Pracovní adresáø nelze uchovat"
@@ -332,11 +332,23 @@ msgstr "`"
 msgid "'"
 msgstr "'"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr ""
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr ""
 
@@ -539,103 +551,103 @@ msgstr "P
 msgid "Garbage command"
 msgstr "Neznámý pøíkaz"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Toto pravdìpodobnì není tar archiv"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 #, fuzzy
 msgid "Total bytes written"
 msgstr "Celkem zapsáno bajtù: %s (%sB, %sB/s)\n"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr ""
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, fuzzy, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Celkem zapsáno bajtù: %s (%sB, %sB/s)\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(roura)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "Chybná hodnota pro velikost záznamu"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Název archivu nebyl zadán"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Stdin/Stdout archiv nelze ovìøit"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr ""
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Komprimovaný archiv nelze aktualizovat"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "Páska na zaèátku, konèím"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Pøíli¹ mnoho chyb, konèím"
 
-#: src/buffer.c:678
-#, fuzzy, c-format
-msgid "Unaligned block (%lu byte) in archive"
-msgid_plural "Unaligned block (%lu bytes) in archive"
-msgstr[0] "Nezarovnaný blok (%lu bajtù) v archivu"
-msgstr[1] "Nezarovnaný blok (%lu bajtù) v archivu"
-
-#: src/buffer.c:698
+#: src/buffer.c:695
 #, fuzzy, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Velikost záznamu = %lu blokù"
 msgstr[1] "Velikost záznamu = %lu blokù"
 
-#: src/buffer.c:771
+#: src/buffer.c:716
+#, fuzzy, c-format
+msgid "Unaligned block (%lu byte) in archive"
+msgid_plural "Unaligned block (%lu bytes) in archive"
+msgstr[0] "Nezarovnaný blok (%lu bajtù) v archivu"
+msgstr[1] "Nezarovnaný blok (%lu bajtù) v archivu"
+
+#: src/buffer.c:793
 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:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: obsahuje neplatné èíslo svazku"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "U èísla svazku nastalo pøeteèení"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, 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:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "Místo u¾ivatelské odpovìdi byl zadán konec souboru"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "VAROVÁNÍ: Archiv je nekompletní"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -647,69 +659,74 @@ msgstr ""
 " !          Vytvoøení podshell\n"
 " ?          Vypísání této nápovìdy\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Není nový svazek; konèím.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, fuzzy, c-format
 msgid "%s command failed"
 msgstr "pøíkaz `%s' selhal"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, fuzzy, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s nepokraèuje na tomto svazku"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s nepokraèuje na tomto svazku"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s je ¹patné délky (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Tento svazek není následníkem pøedchozího"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Pro vyhodnocení vzorku `%s' musí být archiv pojmenován"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Svazek %s neodpovídá vzorku %s"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 
+#: src/buffer.c:1619
+msgid "write did not end on a block boundary"
+msgstr ""
+
 #: src/compare.c:96
 #, fuzzy, c-format
 msgid "Could only read %lu of %lu byte"
@@ -721,8 +738,8 @@ msgstr[1] "Lze 
 msgid "Contents differ"
 msgstr "Obsah se li¹í"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Neoèekávaný konec archivu"
 
@@ -839,7 +856,7 @@ msgstr[1] "%s: Soubor je krat
 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:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr ""
 
@@ -868,7 +885,7 @@ msgstr "%s: soubor je archiv; nearchivov
 msgid "%s: File removed before we read it"
 msgstr "%s: Soubor smazán døíve ne¾ mohl být èten"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr ""
 
@@ -919,168 +936,168 @@ msgstr ""
 msgid "Extracting contiguous files as regular files"
 msgstr "Souvisle ulo¾ené soubory rozbaluji jako obyèejné soubory"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Zkou¹ím rozbalit symbolické odkazy jako pevné odkazy"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Ètení z %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, 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:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "Neoèekávaný konec v rozsekaném názvu"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, fuzzy, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
 msgstr "%s: Neznámý typ souboru `%c', rozbalen jako normální soubor"
 
-#: src/extract.c:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr ""
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Tento soubor nebylo mo¾né zálohovat"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, fuzzy, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s: nelze pøejmenovat na %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "Z chyby se nelze zotavit: ukonèuji se"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, fuzzy, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Adresáø byl pøejmenován"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Adresáø byl pøejmenován"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Adresáø je nový"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Neplatný èas souboru"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 #, fuzzy
 msgid "Invalid modification time (seconds)"
 msgstr "Zadána chybná práva"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr ""
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Neplatné èíslo zaøízení"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Neplatné èíslo i-uzlu"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr ""
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr ""
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "Neoèekávaný konec archivu"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr ""
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr ""
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr ""
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr ""
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr ""
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, fuzzy, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Pro blokový faktor (blokù na záznam) %d není mo¾né alokovat pamì»"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr ""
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, fuzzy, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: soubor je na jiném souborovém systému; nearchivován"
 
-#: src/incremen.c:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Ma¾u %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Nelze smazat"
@@ -1100,87 +1117,87 @@ msgstr "blok %s: ** Blok NUL **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Konec souboru **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, 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:728
+#: src/list.c:737
 #, 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:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Archiv obsahuje zastaralé base-64 hlavièky"
 
-#: src/list.c:763
+#: src/list.c:772
 #, 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:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, 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:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " odkaz na %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " neznámý souborový typ %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr ""
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr ""
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Hlavièka svazku--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Pokraèováno od %s bajtu--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Vytváøím adresáø:"
 
@@ -1217,24 +1234,24 @@ msgstr "meziprocesov
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr ""
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr ""
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: V archivu nenalezen"
 
-#: src/names.c:621
+#: src/names.c:615
 #, fuzzy, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: V archivu nenalezen"
@@ -1259,7 +1276,7 @@ msgid ""
 "Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
 msgstr ""
 
-#: src/tar.c:334
+#: src/tar.c:336
 #, fuzzy
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
@@ -1279,7 +1296,7 @@ msgstr ""
 "tar.\n"
 "  %s -xf archiv.tar          # Rozbalí v¹echny soubory z archive.tar.\n"
 
-#: src/tar.c:343
+#: src/tar.c:345
 #, fuzzy
 msgid ""
 "The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
@@ -1303,88 +1320,88 @@ msgstr ""
 "                  existují, jinak tvoøí jednoduché\n"
 "  never, simple   tvoøí v¾dy jednoduché zálo¾ní kopie souborù\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr ""
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr ""
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr ""
 
-#: src/tar.c:377
+#: src/tar.c:379
 #, fuzzy
 msgid "create a new archive"
 msgstr "Neoèekávaný konec archivu"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr ""
 
-#: src/tar.c:382
+#: src/tar.c:384
 #, fuzzy
 msgid "append files to the end of an archive"
 msgstr "%d bajtù smetí ma konci archivu ignorováno"
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr ""
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr ""
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr ""
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr ""
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr ""
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr ""
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr ""
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr ""
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1392,559 +1409,572 @@ msgid ""
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr ""
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr ""
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr ""
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr ""
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr ""
 
-#: src/tar.c:435
+#: src/tar.c:437
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 
-#: src/tar.c:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr ""
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr ""
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr ""
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr ""
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr ""
 
-#: src/tar.c:454
+#: src/tar.c:456
 #, fuzzy
 msgid "extract files to standard output"
 msgstr "Chyba pøi zápise na standardní výstup"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr ""
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr ""
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr ""
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr ""
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr ""
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr ""
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:472
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr ""
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr ""
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr ""
 
-#: src/tar.c:477
+#: src/tar.c:479
 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:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr ""
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr ""
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr ""
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr ""
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr ""
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr ""
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr ""
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr ""
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr ""
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
 msgstr ""
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr ""
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr ""
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr ""
 
-#: src/tar.c:535
+#: src/tar.c:537
 #, fuzzy
 msgid "create/list/extract multi-volume archive"
 msgstr "Vícesvazkový archiv není mo¾né ovìøit"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr ""
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr ""
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr ""
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr ""
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr ""
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr ""
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr ""
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr ""
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr ""
 
-#: src/tar.c:561
+#: src/tar.c:563
 #, fuzzy
 msgid "Archive format selection:"
 msgstr "Odporující si archivní formáty"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr ""
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr ""
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr ""
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr ""
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr ""
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr ""
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr ""
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr ""
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr ""
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr ""
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr ""
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
 
-#: src/tar.c:592
+#: src/tar.c:594
 #, fuzzy
 msgid "Compression options:"
 msgstr "Odporující si kompresní pøepínaèe"
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:596
+#: src/tar.c:598
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr ""
 
-#: src/tar.c:598
+#: src/tar.c:603
 #, fuzzy
 msgid "filter the archive through gzip"
 msgstr "%s: soubor je archiv; nearchivován"
 
-#: src/tar.c:602
+#: src/tar.c:607
 #, fuzzy
 msgid "filter the archive through compress"
 msgstr "%s: soubor je archiv; nearchivován"
 
-#: src/tar.c:605
+#: src/tar.c:610
 #, fuzzy
 msgid "filter the archive through lzma"
 msgstr "%s: soubor je archiv; nearchivován"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "%s: soubor je archiv; nearchivován"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr ""
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr ""
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr ""
 
-#: src/tar.c:615
+#: src/tar.c:622
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 
-#: src/tar.c:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr ""
 
-#: src/tar.c:617
+#: src/tar.c:624
 #, fuzzy
 msgid "change to directory DIR"
 msgstr "Pracovní adresáø nelze zmìnit"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr ""
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr ""
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr ""
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr ""
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr ""
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr ""
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr ""
 
-#: src/tar.c:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/tar.c:639
+#: src/tar.c:648
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 
-#: src/tar.c:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
 msgstr ""
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr ""
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr ""
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr ""
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr ""
 
-#: src/tar.c:654
+#: src/tar.c:663
 #, fuzzy
 msgid "don't strip leading `/'s from file names"
 msgstr "Odstraòuji úvodní `%.*s' z názvù souborù"
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:658
+#: src/tar.c:667
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr ""
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr ""
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr ""
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr ""
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr ""
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr ""
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:676
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/tar.c:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr ""
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr ""
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr ""
 
-#: src/tar.c:699
+#: src/tar.c:709
 #, fuzzy
 msgid "wildcards do not match `/'"
 msgstr "Svazek %s neodpovídá vzorku %s"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr ""
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1952,267 +1982,281 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr ""
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr ""
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr ""
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr ""
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr ""
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Více jak jeden pøepínaè z `-Acdtrux' nemù¾e být zadán"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Odporující si kompresní pøepínaèe"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr " neznámý souborový typ %s\n"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 #, fuzzy
 msgid "Date sample file not found"
 msgstr "Soubor ze kterého se má vzít datum a èas nebyl nalezen"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, 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:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr ""
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, fuzzy, c-format
 msgid "%s: file list already read"
 msgstr "%s: soubor je archiv; nearchivován"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr ""
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Neplatný poèet bajtù na záznam"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr "Upozornìní: pøepínaè -I není podporován; nemysleli jste -j nebo -T?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Neplatná délka pásky"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Více ne¾ jedeno poèáteèní datum"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: Neplatná skupina"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Zadána chybná práva"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 #, fuzzy
 msgid "Invalid number"
 msgstr "Neplatné èíslo i-uzlu"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Neplatný vlastník"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Chybná velikost záznamu"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Velikost záznamu musí být násobek %d."
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 #, fuzzy
 msgid "Invalid number of elements"
 msgstr "Neplatná délka pásky"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, fuzzy, c-format
 msgid "Unknown density: `%c'"
 msgstr "Neznámý vzorek `%s'"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, c-format
 msgid "Options `-[0-7][lmh]' not supported by *this* tar"
 msgstr "Pøepínaè `-[0-7][lmh]' není podporován tímto tarem"
 
-#: src/tar.c:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr ""
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "Pøepínaè `%c' vy¾aduje argument."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr ""
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 #, fuzzy
 msgid "Multiple archive files require `-M' option"
 msgstr "Více archivaèních souborù vy¾aduje pøepínaè `-M'"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "--listed-incremental a --newer nelze kombinovat"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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: Název svazku je pøíli¹ dlouhý (limit je %lu bajtù)"
 msgstr[1] "%s: Název svazku je pøíli¹ dlouhý (limit je %lu bajtù)"
 
-#: src/tar.c:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Vícesvazkový archiv není mo¾né ovìøit"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Komprimovaný archiv nelze ovìøit"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Vícesvazkový komprimovaný archiv nelze vytvoøit"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "Komprimovaný archiv nelze aktualizovat"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Vytvoøení prázdného archivu odmítnuto."
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 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:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Musíte zadat jeden z pøepínaèù `-Acdtrux'"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Za bìhu programu nastala chyba"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, fuzzy, c-format
@@ -2221,79 +2265,79 @@ msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Soubor zkrácen o bajtù: %s"
 msgstr[1] "%s: Soubor zkrácen o bajtù: %s"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr ""
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr ""
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr ""
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr ""
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr ""
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, fuzzy, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Base-64 øetìzec %s je mimo rozsah typu %s"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr ""
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr ""
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr ""
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, 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:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr ""
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr ""
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2456,97 +2500,107 @@ msgstr "
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Neznámá systémová chyba"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, fuzzy, c-format
 msgid "cannot open `%s'"
 msgstr "Neznámý vzorek `%s'"
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 #, fuzzy
 msgid "cannot seek"
 msgstr "Nelze zavøít"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr "Neznámý vzorek `%s'"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "%s: Nelze zmìnit pozici v souboru na %s"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr ""
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, fuzzy, c-format
 msgid "Command failed with status %d\n"
 msgstr "Potomek byl ukonèen signálem %d"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr ""
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, fuzzy, c-format
 msgid "--stat requires file names"
 msgstr "--Rozdìlený název souboru--\n"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr ""
@@ -3012,6 +3066,9 @@ msgstr ""
 #~ msgid "Written by John Gilmore and Jay Fenlason."
 #~ msgstr "Autoøi: John Gilmore a Jay Fenlason."
 
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Za bìhu programu nastala chyba"
+
 #~ msgid ""
 #~ "If a long option shows an argument as mandatory, then it is mandatory\n"
 #~ "for the equivalent short option also.\n"
index 1d68606b00f88de792a40cace02e5010b1c078c5..4bf1a49f8cb7cedd0868eae321a6911b0db99c33 100644 (file)
Binary files a/po/da.gmo and b/po/da.gmo differ
index bd9b073d34302c3a153048c8e52522442718fc93..2b573f5d9b404a7cfb6129daa6c795cd77141902 100644 (file)
--- a/po/da.po
+++ b/po/da.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GNU tar 1.13.25\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
 "PO-Revision-Date: 2002-03-27 13:57+0100\n"
 "Last-Translator: Keld Jørn Simonsen <keld@dkuug.dk>\n"
 "Language-Team: Danish <dansk@klid.dk>\n"
@@ -81,7 +81,7 @@ msgstr ""
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr "Prøv '%s --help' for mere information.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, fuzzy, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
@@ -92,15 +92,15 @@ msgstr ""
 msgid "Unknown system error"
 msgstr "Ukendt systemfejl"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr ""
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr ""
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr ""
@@ -113,11 +113,11 @@ msgstr ""
 msgid "SECS"
 msgstr ""
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr ""
 
@@ -135,7 +135,7 @@ msgstr "%s: flag '%s' kr
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr "skrivefejl"
 
@@ -194,16 +194,16 @@ msgstr "%s: flag '-W %s' er flertydigt\n"
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: flag '-W %s' tillader ikke et argument\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "hovedlager opbrugt"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Kan ikke ændre arbejdskatalog"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Kan ikke gemme arbejdskatalog"
@@ -323,11 +323,23 @@ msgstr "'"
 msgid "'"
 msgstr "'"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr "^[jJyY]"
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr "^[nN]"
 
@@ -529,103 +541,103 @@ msgstr "For tidlig filafslutning"
 msgid "Garbage command"
 msgstr "Ugyldig kommando"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Dette ligner ikke et tar-arkiv"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 #, fuzzy
 msgid "Total bytes written"
 msgstr "Totalt antal byte skrevet: %s (%sB, %sB/s)\n"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr ""
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, fuzzy, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Totalt antal byte skrevet: %s (%sB, %sB/s)\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(datakanal)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "Ugyldig værdi for record_size"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Arkivnavn er ikke opgivet"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Kan ikke verificere standard-ind/standard-ud arkiver"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr ""
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Kan ikke opdatere komprimerede arkiver"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "Ved begyndelsen af båndet, afslutter nu"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "For mange fejl, afslutter"
 
-#: src/buffer.c:678
-#, fuzzy, 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-justeret blok (%lu byte) i arkiv"
-
-#: src/buffer.c:698
+#: src/buffer.c:695
 #, fuzzy, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Poststørrelse = %lu blokke"
 msgstr[1] "Poststørrelse = %lu blokke"
 
-#: src/buffer.c:771
+#: src/buffer.c:716
+#, fuzzy, 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-justeret blok (%lu byte) i arkiv"
+
+#: src/buffer.c:793
 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:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: indeholder ugyldigt delarkivs-nummer"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Overløb på delarkiv-nummer"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, 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:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "Filafslutning hvor svar fra bruger var forventet"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "ADVARSEL: Arkivet er ufuldstændigt"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -637,69 +649,74 @@ msgstr ""
 " !          Start en skal\n"
 " ?          Skriv denne list\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Intet nyt delarkiv; afslutter.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, fuzzy, c-format
 msgid "%s command failed"
 msgstr "'%s'-kommando mislykkedes"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, fuzzy, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s fortsætter ikke i dette delarkiv"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s fortsætter ikke i dette delarkiv"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s har forkert størrelse (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Dette delarkiv kommer ude af rækkefølge"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arkivet er ikke navngivet til at passe med %s"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Volumenet '%s' stemmer ikke overens med %s"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 
+#: src/buffer.c:1619
+msgid "write did not end on a block boundary"
+msgstr ""
+
 #: src/compare.c:96
 #, fuzzy, c-format
 msgid "Could only read %lu of %lu byte"
@@ -711,8 +728,8 @@ msgstr[1] "Kunne kun l
 msgid "Contents differ"
 msgstr "Indhold er forskelligt"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Uventet filslutning i arkivet"
 
@@ -829,7 +846,7 @@ msgstr[1] "%s: Filen formindsket med %s byte, fylder ud med nuller"
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: fil er på et andet filesystem.  Ikke lagret"
 
-#: src/create.c:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr ""
 
@@ -858,7 +875,7 @@ msgstr "%s: fil er det samme som arkivet; ikke lagret"
 msgid "%s: File removed before we read it"
 msgstr "%s: Fil fjernet før vi læste den"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr ""
 
@@ -909,168 +926,168 @@ msgstr "%s: Katalog omd
 msgid "Extracting contiguous files as regular files"
 msgstr "Udtrækker sammenhængende filer som almindelige filer"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Forsøger at udtrække symbolske lænker som hårde lænker"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Læser %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Kan ikke udtrække -- filen er fortsat fra et tidligere delarkiv"
 
-#: src/extract.c:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "Uventet filafslutning i ødelagte navne"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, fuzzy, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
 msgstr "%s: Ukendt filtype '%c', udtrukket som en almindelig fil"
 
-#: src/extract.c:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr ""
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Kunne ikke sikkerhedskopiere denne fil"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, fuzzy, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s: Kan ikke omdøbe til %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "Fejl kan ikke reddes; afslutter nu"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, fuzzy, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Kataloget er blevet omdøbt"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Kataloget er blevet omdøbt"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Kataloget er nyt"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Ugyldigt tidsstempel"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 #, fuzzy
 msgid "Invalid modification time (seconds)"
 msgstr "Ugyldig modus angivet i flag"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr ""
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Ugyldigt enhedsnummer"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Ugyldigt inode-nummer"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr ""
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr ""
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "Uventet filslutning i arkivet"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr ""
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr ""
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr ""
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr ""
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr ""
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, fuzzy, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "kan ikke oprette kataloget '%s'"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr ""
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, fuzzy, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: fil er på et andet filesystem.  Ikke lagret"
 
-#: src/incremen.c:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Sletter %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "Kan ikke slette %s"
@@ -1090,86 +1107,86 @@ msgstr "blok %s: ** Blok med NUL-er **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Slut på fil **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr "Arkiv oktal værdi %.*s er udenfor %s område; antager to-komplement"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:728
+#: src/list.c:737
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Arkiv oktal værdi %.*s er udenfor %s område"
 
-#: src/list.c:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arkiv indeholder forældede base-64 hoveder"
 
-#: src/list.c:763
+#: src/list.c:772
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Arkiv base-64 streng med fortegn %s er uden for %s område"
 
-#: src/list.c:794
+#: src/list.c:803
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Arkiv base-256 værdi er uden for %s område"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Arkiv værdi %s er udenfor %s område %s..%s"
 
-#: src/list.c:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " lænke til %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " ukendt filtype %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr ""
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr ""
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Volumenhoved--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Fortsætter ved byte %s--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Opretter katalog:"
 
@@ -1206,24 +1223,24 @@ msgstr "mellemproces-kanal"
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr ""
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr ""
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Blev ikke fundet i arkivet"
 
-#: src/names.c:621
+#: src/names.c:615
 #, fuzzy, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Blev ikke fundet i arkivet"
@@ -1248,7 +1265,7 @@ msgid ""
 "Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
 msgstr ""
 
-#: src/tar.c:334
+#: src/tar.c:336
 #, fuzzy
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
@@ -1267,7 +1284,7 @@ msgstr ""
 "  %s -tvf arkiv.tar         # List alle filer i arkiv.tar udførligt.\n"
 "  %s -xf arkiv.tar          # Udtræk alle filer fra arkiv.tar.\n"
 
-#: src/tar.c:343
+#: src/tar.c:345
 #, fuzzy
 msgid ""
 "The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
@@ -1291,88 +1308,88 @@ msgstr ""
 "                  ellers simple\n"
 "  never, simple   lav simple sikkerhedskopier\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr ""
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr ""
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr ""
 
-#: src/tar.c:377
+#: src/tar.c:379
 #, fuzzy
 msgid "create a new archive"
 msgstr "Uventet filslutning i arkivet"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr ""
 
-#: src/tar.c:382
+#: src/tar.c:384
 #, fuzzy
 msgid "append files to the end of an archive"
 msgstr "%d overflødige byte ignoreret ved slutningen på arkiv"
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr ""
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr ""
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr ""
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr ""
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr ""
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr ""
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr ""
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr ""
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1380,559 +1397,572 @@ msgid ""
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr ""
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr ""
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr ""
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr ""
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr ""
 
-#: src/tar.c:435
+#: src/tar.c:437
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 
-#: src/tar.c:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr ""
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr ""
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr ""
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr ""
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr ""
 
-#: src/tar.c:454
+#: src/tar.c:456
 #, fuzzy
 msgid "extract files to standard output"
 msgstr "Fejl ved skrivning til standard uddata"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr ""
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr ""
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr ""
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr ""
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr ""
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr ""
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:472
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr ""
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr ""
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr ""
 
-#: src/tar.c:477
+#: src/tar.c:479
 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:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr ""
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr ""
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr ""
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr ""
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr ""
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr ""
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr ""
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr ""
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr ""
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
 msgstr ""
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr ""
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr ""
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr ""
 
-#: src/tar.c:535
+#: src/tar.c:537
 #, fuzzy
 msgid "create/list/extract multi-volume archive"
 msgstr "Kan ikke verificere arkiv som går over flere delarkiver"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr ""
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr ""
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr ""
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr ""
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr ""
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr ""
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr ""
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr ""
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr ""
 
-#: src/tar.c:561
+#: src/tar.c:563
 #, fuzzy
 msgid "Archive format selection:"
 msgstr "Konflikt i flagene for arkiv-format"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr ""
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr ""
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr ""
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr ""
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr ""
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr ""
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr ""
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr ""
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr ""
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr ""
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr ""
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
 
-#: src/tar.c:592
+#: src/tar.c:594
 #, fuzzy
 msgid "Compression options:"
 msgstr "Konflikt i komprimeringsflag"
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:596
+#: src/tar.c:598
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr ""
 
-#: src/tar.c:598
+#: src/tar.c:603
 #, fuzzy
 msgid "filter the archive through gzip"
 msgstr "%s: fil er det samme som arkivet; ikke lagret"
 
-#: src/tar.c:602
+#: src/tar.c:607
 #, fuzzy
 msgid "filter the archive through compress"
 msgstr "%s: fil er det samme som arkivet; ikke lagret"
 
-#: src/tar.c:605
+#: src/tar.c:610
 #, fuzzy
 msgid "filter the archive through lzma"
 msgstr "%s: fil er det samme som arkivet; ikke lagret"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "%s: fil er det samme som arkivet; ikke lagret"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr ""
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr ""
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr ""
 
-#: src/tar.c:615
+#: src/tar.c:622
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 
-#: src/tar.c:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr ""
 
-#: src/tar.c:617
+#: src/tar.c:624
 #, fuzzy
 msgid "change to directory DIR"
 msgstr "Kan ikke ændre arbejdskatalog"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr ""
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr ""
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr ""
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr ""
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr ""
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr ""
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr ""
 
-#: src/tar.c:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/tar.c:639
+#: src/tar.c:648
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 
-#: src/tar.c:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
 msgstr ""
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr ""
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr ""
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr ""
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr ""
 
-#: src/tar.c:654
+#: src/tar.c:663
 #, fuzzy
 msgid "don't strip leading `/'s from file names"
 msgstr "Fjerner indledende '/' fra absolutte lænker"
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:658
+#: src/tar.c:667
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr ""
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr ""
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr ""
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr ""
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr ""
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr ""
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:676
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/tar.c:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr ""
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr ""
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr ""
 
-#: src/tar.c:699
+#: src/tar.c:709
 #, fuzzy
 msgid "wildcards do not match `/'"
 msgstr "Volumenet '%s' stemmer ikke overens med %s"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr ""
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1940,268 +1970,282 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr ""
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr ""
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr ""
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr ""
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr ""
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Du kan ikke angive mere end et af '-Acdtrux'-flagene"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Konflikt i komprimeringsflag"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr " ukendt filtype %s\n"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 #, fuzzy
 msgid "Date sample file not found"
 msgstr "Datofil ikke fundet"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Erstatter %s for ukendt dato-format %s"
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr ""
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, fuzzy, c-format
 msgid "%s: file list already read"
 msgstr "%s: fil er det samme som arkivet; ikke lagret"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr ""
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Ugyldig blokfaktor"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr "Advarsel: -I flaget er ikke understøttet; måske mente du -j eller -T?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Ugyldig båndlængde"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Mere end én grænse-dato"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: ugyldig gruppe"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Ugyldig modus angivet i flag"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 #, fuzzy
 msgid "Invalid number"
 msgstr "Ugyldigt inode-nummer"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Ugyldig ejer"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Ugyldig poststørrelse"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Poststørrelse skal være deleligt med %d."
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 #, fuzzy
 msgid "Invalid number of elements"
 msgstr "Ugyldig båndlængde"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, fuzzy, c-format
 msgid "Unknown density: `%c'"
 msgstr "Ukendt mønster '%s'"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, 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:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr ""
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "Gammelt flag '%c' behøver et argument."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr ""
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 #, fuzzy
 msgid "Multiple archive files require `-M' option"
 msgstr "Ved flere arkivfiler kræves '-M'-flaget"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "Kan ikke kombinere --listed-incremental med --newer"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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: etikette på delarkiv er for lang (grænse er %lu byte)"
 msgstr[1] "%s: etikette på delarkiv er for lang (grænse er %lu byte)"
 
-#: src/tar.c:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Kan ikke verificere arkiv som går over flere delarkiver"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Kan ikke verificere komprimerede arkiver"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Kan ikke bruge komprimerede arkiver som går over flere delarkiver"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "Kan ikke opdatere komprimerede arkiver"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Nægter stædigt at oprette et tomt arkiv"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "Flagene '-Aru' er inkompatible med '-f -'"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Du skal angive et af '-Acdtrux'-flagene"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Udsat fejl-afslutning som resultat af tidligere fejl"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, fuzzy, c-format
@@ -2210,79 +2254,79 @@ msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Filen formindskedes med %s byte"
 msgstr[1] "%s: Filen formindskedes med %s byte"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr ""
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr ""
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr ""
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr ""
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr ""
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, fuzzy, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Arkiv base-64 streng med fortegn %s er uden for %s område"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr ""
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr ""
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr ""
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, fuzzy, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Arkiv værdi %s er udenfor %s område %s..%s"
 
-#: src/xheader.c:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr ""
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr ""
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2446,97 +2490,107 @@ msgstr "Inode-nummer uden for omr
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Ukendt systemfejl"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, fuzzy, c-format
 msgid "cannot open `%s'"
 msgstr "kan ikke ændre ejer (chown) '%s'"
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 #, fuzzy
 msgid "cannot seek"
 msgstr "Kan ikke lukke"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr "Ukendt mønster '%s'"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "kan ikke oprette kataloget '%s'"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr ""
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, fuzzy, c-format
 msgid "Command failed with status %d\n"
 msgstr "Underproces døde med signal %d"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr ""
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, fuzzy, c-format
 msgid "--stat requires file names"
 msgstr "--Ødelagte filnavne--\n"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr ""
@@ -2980,6 +3034,9 @@ msgstr ""
 #~ msgid "Written by John Gilmore and Jay Fenlason."
 #~ msgstr "Skrevet af John Gilmore and Jay Fenlason."
 
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Udsat fejl-afslutning som resultat af tidligere fejl"
+
 #~ msgid ""
 #~ "If a long option shows an argument as mandatory, then it is mandatory\n"
 #~ "for the equivalent short option also.\n"
index 9f7bfbf6de1063d971d5534e0a46dba73d980e72..7ac365f3560c7b60ca5f6b2da1b20da626c69106 100644 (file)
Binary files a/po/de.gmo and b/po/de.gmo differ
index 1ac04440fbf5851d405d3ecf19a821394185bdfe..a365146711a4b6ed5a7a4157908f9c1289da7cc9 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -1,4 +1,5 @@
 # German messages for GNU tar.
+# This file is distributed under the same license as the tar package.
 # Copyright (C) 2001 Free Software Foundation, Inc.
 # Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995?
 # Karl Eichwalder <ke@ke.central.de>, 1996
@@ -7,10 +8,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.19.90\n"
+"Project-Id-Version: tar 1.20\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
-"PO-Revision-Date: 2008-02-11 11:03+0100\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
+"PO-Revision-Date: 2008-04-15 15:40+0100\n"
 "Last-Translator: Michael Piefel <piefel@informatik.hu-berlin.de>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
@@ -83,7 +84,7 @@ msgstr " [OPTION...]"
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr "„%s --help“ oder „%s --usage“ gibt weitere Informationen.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Melden Sie Fehler (auf Englisch, mit LC_ALL=C) an %s.\n"
@@ -92,15 +93,15 @@ msgstr "Melden Sie Fehler (auf Englisch, mit LC_ALL=C) an %s.\n"
 msgid "Unknown system error"
 msgstr "Unbekannter Systemfehler."
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr "diese Hilfe ausgeben"
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr "eine kurze Benutzungsübersicht ausgeben"
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr "NAME"
@@ -113,11 +114,11 @@ msgstr "den Programmnamen setzen"
 msgid "SECS"
 msgstr "SEK"
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr "für SEK Sekunden hängenbleiben (Voreinst.: 3600)"
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr "Programmversion ausgeben"
 
@@ -135,7 +136,7 @@ msgstr "%s: Zu viele Argumente\n"
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(PROGRAMMFEHLER) Option hätte erkannt werden müssen!?"
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr "Schreibfehler"
 
@@ -194,16 +195,16 @@ msgstr "%s: Option „-W %s“ ist mehrdeutig.\n"
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: Option „-W %s“ erlaubt keinen Parameter.\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "Kein Speicher mehr"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, c-format
 msgid "unable to record current working directory"
 msgstr "Kann Arbeitsverzeichnis nicht aufzeichnen."
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "Konnde nicht zu ursprünglichem Arbeitsverzeichnis zurückkehren."
@@ -322,11 +323,23 @@ msgstr "„"
 msgid "'"
 msgstr "“"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr "^[yYjJ]"
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr "^[nN]"
 
@@ -551,102 +564,102 @@ msgstr "Vorzeitiges Dateiende."
 msgid "Garbage command"
 msgstr "Ungültiges Kommando."
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Das sieht nicht wie ein „tar“-Archiv aus."
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 msgid "Total bytes written"
 msgstr "Gesamtzahl geschriebener Bytes"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr "Gesamtzahl gelesener Bytes"
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Gesamtzahl gelöschter Bytes: %s\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(pipe)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "Ungültiger Wert für „record_size“."
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Kein Archivname angegeben"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Kann Archive auf Standard-Ein-/Ausgabe nicht prüfen."
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Archiv ist komprimiert. Benutzen Sie die Option %s."
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Kann komprimierte Archive nicht aktualisieren"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "Am Anfang des Mediums, beende jetzt."
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Zu viele Fehler, beende."
 
-#: src/buffer.c:678
-#, 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:698
+#: src/buffer.c:695
 #, 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:771
+#: src/buffer.c:716
+#, 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:793
 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:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "„rmtlseek“ nicht an Recordgrenze angehalten"
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: enthält ungültige Teil-Nummer."
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Teil-Nummer zu groß."
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, 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:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "Dateiende gefunden, Benutzereingabe erwartet"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "WARNUNG: Archiv unvollständig"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -658,66 +671,67 @@ msgstr ""
 " q            „tar“ abbrechen\n"
 " j oder Enter fortfahren\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !            Shell in einem Unterprozess starten\n"
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?            diese Liste ausgeben\n"
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Kein neues Medium; halte an.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr "Dateiname nicht angegeben. Versuchen Sie es noch einmal.\n"
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Ungültige Eingabe. Geben Sie „?“ für Hilfe ein.\n"
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, c-format
 msgid "%s command failed"
 msgstr "„%s“-Kommando gescheitert."
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, 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:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "Dieser Teil ist keine Fortsetzung von %s."
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s hat die falsche Größe (%s != %s + %s)."
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Dieser Teil ist nicht an der Reihe."
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Kennzeichnung des Archivs passt nicht zu „%s“."
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Teil „%s“ passt nicht zu „%s“."
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -725,6 +739,11 @@ msgstr ""
 "%s: Dateiname zu lang, um in einem GNU-Mehrteil-Kopf abgelegt werden zu "
 "können, abgeschnitten"
 
+#: src/buffer.c:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "„rmtlseek“ nicht an Recordgrenze angehalten"
+
 #: src/compare.c:96
 #, c-format
 msgid "Could only read %lu of %lu byte"
@@ -736,8 +755,8 @@ msgstr[1] "Konnte nur %lu von %lu Bytes lesen"
 msgid "Contents differ"
 msgstr "Unterschiedliche Inhalte"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Unerwartetes Dateiende im Archiv."
 
@@ -855,7 +874,7 @@ msgstr[1] "Datei %s ist um %s Bytes geschrumpft, fülle mit Nullen auf."
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "Datei %s liegt auf einem anderen Dateisystem; nicht gesichert."
 
-#: src/create.c:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr "Inhalt nicht gesichert"
 
@@ -884,7 +903,7 @@ msgstr "%s ist das Archiv; nicht gesichert."
 msgid "%s: File removed before we read it"
 msgstr "%s: Datei gelöscht, bevor sie gelesen wurde."
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr "Verzeichnis nicht gesichert"
 
@@ -935,168 +954,168 @@ msgstr "%s: Verzeichnis umbenannt bevor sein Status ermittelt werden konnte"
 msgid "Extracting contiguous files as regular files"
 msgstr "Extrahiere zusammenhängende Dateien („contiguous files“) als reguläre."
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Versuche symbolische Links als harte Links herauszuholen."
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Lese %s.\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, 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:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 msgid "Unexpected long name header"
 msgstr "Unerwarteter Kopfteil mit langem Namen"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
 msgstr "%s: Unbekannter Dateityp „%c“, wie normale Datei extrahiert."
 
-#: src/extract.c:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Aktuelles %s ist neuer oder hat dasselbe Alter."
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Konnte keine Sicherheitskopie von dieser Datei erstellen"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Kann %s nicht in %s umbenennen."
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "Nicht behebbarer Fehler: Programmabbruch. "
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Verzeichnis wurde von „%s“ umbenannt."
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Verzeichnis wurde umbenannt."
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "Verzeichnis „%s“ ist neu."
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Ungültiges Datum"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 msgid "Invalid modification time (seconds)"
 msgstr "Ungültige Änderungszeit (Sekunden)."
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr "Ungültige Änderungszeit (Nanosekunden)."
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Ungültige Gerätenummer"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Ungültige Inode-Nummer"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr "Feld zu lang beim Lesen der Schnappschussdatei"
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr "Lesefehler in Schnappschussdatei"
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 msgid "Unexpected EOF in snapshot file"
 msgstr "Unerwartetes Dateiende im Schnappschussdatei."
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr "Unerwarteter Feldwert in Schnappschussdatei"
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr "Fehlender Record-Abschluss"
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr "unzulässiges inkrementelles Dateiformat"
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Nicht unterstützte Version des inkrementellen Formats: %<PRIuMAX>"
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "Fehlgeformtes Verzeichnis für Dump: „%c“ erwartet, aber %#3o gefunden"
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Fehlgeformtes Verzeichnis für Dump: „X“ dupliziert"
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Fehlgeformtes Verzeichnis für Dump: leerer Name in „R“"
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr "Fehlgeformtes Verzeichnis für Dump: „T“ folgt nicht „R“"
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Fehlgeformtes Verzeichnis für Dump: leerer Name in „T“"
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, 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:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Fehlgeformtes Verzeichnis für Dump: „X“ nie benutzt"
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Kann kein temporäres Verzeichnis mit der Schablone %s anlegen"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Entferne Verzeichnis nicht: kann nicht zugreifen"
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, 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:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Lösche %s.\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Kann nicht entfernen."
@@ -1116,71 +1135,71 @@ msgstr "Block %s: ** Block aus NULlen **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "Block %s: ** Ende der Datei **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "Block %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Leerzeichen im Kopfteil, wo nummerische %s-Werte stehen sollten."
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:717
+#: src/list.c:726
 #, 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:728
+#: src/list.c:737
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Oktalzahl %.*s außerhalb des %s-Bereichs"
 
-#: src/list.c:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Archiv enthält veraltete Base64-Kopfteile"
 
-#: src/list.c:763
+#: src/list.c:772
 #, 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:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, 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:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " Verküpfung zu %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " unbekannter Dateityp %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr "––Lange Verknüpfung––\n"
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr "––Langer Name––\n"
@@ -1188,17 +1207,17 @@ 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:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "––Vorspann des Teils––\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "––Fortgesetzt bei Byte %s––\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Erzeuge Verzeichnis:"
 
@@ -1235,24 +1254,24 @@ msgstr "interprocess channel"
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr "Zeichen für Musterüberdeckung im Dateinamen benutzt. Benutzen"
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr "Sie bitte --wildcards, um Musterüberdeckung zu ermöglichen oder"
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr "--no-wildcards, um diese Warnung zu unterdrücken."
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Nicht im Archiv gefunden."
 
-#: src/names.c:621
+#: src/names.c:615
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Erforderliches Auftreten nicht im Archiv gefunden."
@@ -1279,7 +1298,7 @@ msgstr ""
 "Unbekannter Zitatstil „%s“. Versuchen Sie „%s --quoting-style=help“ für eine "
 "Liste."
 
-#: src/tar.c:334
+#: src/tar.c:336
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1298,7 +1317,7 @@ msgstr ""
 "  %s -tvf archiv.tar         # Inhalt von archiv.tar ausführlich anzeigen\n"
 "  %s -xf archiv.tar          # alle Dateien aus archiv.tar extrahieren\n"
 
-#: src/tar.c:343
+#: src/tar.c:345
 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 "
@@ -1322,86 +1341,86 @@ msgstr ""
 "                    vorhanden sind, sonst einfache\n"
 "  never, simple   immer einfache Sicherheitskopien\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr "Hauptsächlicher Arbeitsmodus:"
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr "den Inhalt eines Archivs auflisten"
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr "Dateien aus einem Archiv extrahieren"
 
-#: src/tar.c:377
+#: src/tar.c:379
 msgid "create a new archive"
 msgstr "ein neues Archiv anlegen"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr "Unterschiede zwischen Archiv und Dateisystem suchen"
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr "Dateien hinten an das Archiv anfügen"
 
-#: src/tar.c:384
+#: src/tar.c:386
 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:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr "tar-Dateien an ein Archiv anfügen"
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "aus dem Archiv löschen (nicht auf Magnetband!)"
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr "den Archiv-Teil-Namen überprüfen und beenden"
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr "Feineinstellungen:"
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr "löchrige Dateien („sparse files“) effizient behandeln"
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr "MAJOR[.MINOR]"
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr "zu benutzende Version des Sparse-Formats setzen (impliziert --sparse)"
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr "inkrementelle Sicherung im alten GNU-Format"
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr "DATEI"
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr "inkrementelle Sicherung im neuen GNU-Format"
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr "kein Abbruch mit Existatus!=0 bei unlesbaren Dateien"
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr "ZAHL"
 
-#: src/tar.c:409
+#: src/tar.c:411
 msgid ""
 "process only the NUMBERth occurrence of each file in the archive; this "
 "option is valid only in conjunction with one of the subcommands --delete, --"
@@ -1413,121 +1432,122 @@ 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:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr "im Archiv kann positioniert werden"
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
-msgstr ""
+msgstr "Gerätenummer bei Erstellung inkrementeller Archive nicht prüfen"
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
+"Gerätenummer bei Erstellung inkrementeller Archive prüfen (Voreinstellung)"
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr "Steuerung des Überschreibens:"
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr "Archiv nach dem Schreiben prüfen"
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr "Dateien nach dem Hinzufügen zum Archiv löschen"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr "vorhandene Dateien beim Extrahieren nicht überschreiben"
 
-#: src/tar.c:435
+#: src/tar.c:437
 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:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr "vorhandene Dateien beim Extrahieren überschreiben"
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr "zu überschreibende Dateien vor dem Extrahieren löschen"
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr ""
 "Verzeichnishierarchien rekursiv vor dem Extrahieren eines Verzeichnisses "
 "löschen"
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr "Metadaten existierender Verzeichnisse erhalten"
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 "Metadaten existierender Verzeichnisse beim Extrahieren überschreiben "
 "(Voreinstellung)"
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr "Wahl des Ausgabestroms:"
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
 msgstr "Dateien auf die Standardausgabe extrahieren"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr "BEFEHL"
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr "extrahierte Dateien an ein anderes Programm weiterreichen"
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr "Exitstatus der Kinder ignorieren"
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr "Exitstatus!=0 von Kindern als Fehler ansehen"
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr "Behandlung der Datei-Attribute:"
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr "Eigentümer für hinzugefügte Dateien auf NAME setzen"
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr "Gruppe für hinzugefügte Dateien auf NAME setzen"
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr "DATUM-ODER-DATEI"
 
-#: src/tar.c:472
+#: src/tar.c:474
 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:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr "ÄNDERUNGEN"
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "den (symbolischen) Modus ÄNDERUNGEN für hinzugefügte Dateien erzwingen"
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr "METHODE"
 
-#: src/tar.c:477
+#: src/tar.c:479
 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 "
@@ -1538,30 +1558,30 @@ msgstr ""
 "oder dadurch, dass die Zeiten gar nicht erst neu gesetzt werden (METHODE="
 "„system“)"
 
-#: src/tar.c:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr "die geänderte Zeit nicht extrahieren"
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr ""
 "versuchen, die Dateien mit denselben Eigentumsverhältnisse zu extrahieren"
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr "Dateien als aktueller Nutzer extrahieren"
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr "immer Zahlen für Nutzer-/Gruppennamen verwenden"
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 "Informationen über Dateizugriffsrechte mit extrahieren (Voreinstellung für "
 "Root)"
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1569,15 +1589,15 @@ msgstr ""
 "die Umask des Nutzers anwenden beim Extrahieren von Dateizugriffsrechte aus "
 "dem Archiv (Voreinstellung für normale Nutzer)"
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr "zu entpackende Dateinamen wie im Archiv sortieren"
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr "wie -p und -s zusammen"
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1585,139 +1605,139 @@ msgstr ""
 "das Setzen von Zugriffszeiten und Rechten von extrahierten Verzeichnissen "
 "verschieben bis zum Ende des Entpackens"
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "den Effekt von --delay-directory-restore aufheben"
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr "Geräteauswahl und -umschaltung:"
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr "ARCHIV"
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr "Archivdatei oder Gerät ARCHIV benutzen"
 
-#: src/tar.c:513
+#: src/tar.c:515
 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:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "statt „rmt“ den gegebenen BEFEHL benutzen"
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr "statt „rsh“ den entfernten BEFEHL benutzen"
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr "Laufwerk und Schreibdichte angeben"
 
-#: src/tar.c:535
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
 msgstr "mehrteiliges Archiv anlegen/listen/extrahieren"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "Medium wechseln, wenn ZAHL × 1024 Bytes geschrieben wurden"
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr "am Ende jedes Mediums das Skript ausführen (impliziert -M)"
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr "Teil-Nummer in DATEI benutzen/aktualisieren"
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr "Blockung des Gerätes:"
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr "BLÖCKE"
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLÖCKE × 512 Bytes pro Record"
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "ZAHL Bytes pro Record, Vielfaches von 512"
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "Blöcke mit Nullen im Archiv ignorieren (heißt EOF)"
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "erneut Blocken beim Lesen (für 4.2BSD‐Pipes)"
 
-#: src/tar.c:561
+#: src/tar.c:563
 msgid "Archive format selection:"
 msgstr "Auswahl des Archiv-Formats:"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr "Archiv mit dem gegebenen Format anlegen"
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr "FORMAT ist eines der folgenden:"
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr "altes V7-tar-Format"
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr "GNU-Format wie mit tar <=1.12"
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr "GNU-tar-1.13.x-Format"
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "Format von POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "Format von POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr "wie pax"
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr "wie --format=v7"
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr "wie --format=posix"
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "Schlüsselwort[[:]=Wert][,Schlüsselwort[[:]=Wert]]..."
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr "Pax-Schlüsselwörter steuern"
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr "TEXT"
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1725,86 +1745,100 @@ msgstr ""
 "Archiv mit dem Teilnamen TEXT anlegen; beim Listen/Extrahieren, TEXT als "
 "Muster für den Teilnamen benutzen"
 
-#: src/tar.c:592
+#: src/tar.c:594
 msgid "Compression options:"
 msgstr "Kompressionsoptionen:"
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
 msgstr "Archiverweiterung nehmen, um Kompressionsprogramm zu bestimmen"
 
-#: src/tar.c:596
+#: src/tar.c:598
+#, fuzzy
+msgid "do not use use archive suffix to determine the compression program"
+msgstr "Archiverweiterung nehmen, um Kompressionsprogramm zu bestimmen"
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr "Archiv durch bzip2 filtern"
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr "Archiv durch gzip filtern"
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr "Archiv durch compress filtern"
 
-#: src/tar.c:605
+#: src/tar.c:610
 msgid "filter the archive through lzma"
 msgstr "Archiv durch lzma filtern"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "Archiv durch gzip filtern"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr "PROG"
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr "durch PROG filten (muss -d akzeptieren)"
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr "Auswahl der lokalen Dateien:"
 
-#: src/tar.c:615
+#: src/tar.c:622
 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:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr "VERZEICHNIS"
 
-#: src/tar.c:617
+#: src/tar.c:624
 msgid "change to directory DIR"
 msgstr "zu VERZEICHNIS wechseln"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr "Namen der zu bearbeitenden Dateien aus DATEI lesen"
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr "-T liest null-terminierte Namen, verbiete -C"
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
 "Dateinamen, die mit -T gelesen werden, von Zitat befreien (Voreinstellung)"
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr "Dateinamen, die mit -T gelesen werden, nicht von Zitat befreien"
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "MUSTER"
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr "Dateien auslassen, auf die MUSTER passt"
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr "Dateien auslassen, auf die in DATEI angegebene Muster passen"
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1812,93 +1846,93 @@ msgstr ""
 "Inhalt von Verzeichnissen auslassen, die CACHEDIR.TAG enthalten, außer der "
 "Markierungsdatei selbst"
 
-#: src/tar.c:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr ""
 "alles unterhalb von Verzeichnissen auslassen, die CACHEDIR.TAG enthalten"
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "Verzeichnisse auslassen, die CACHEDIR.TAG enthalten"
 
-#: src/tar.c:639
+#: src/tar.c:648
 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:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
 msgstr "alles unterhalb von Verzeichnissen auslassen, die DATEI enthalten"
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr "Verzeichnisse auslassen, die DATEI enthalten"
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr "Verzeichnisse von Versionskontrollsystemen auslassen"
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr "automatischen Abstieg in Vezeichnisse vermeiden"
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr "beim Anlegen eines Archivs im lokalen Dateisystem bleiben"
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr "in Verzeichnisse absteigen (Voreinstellung)"
 
-#: src/tar.c:654
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
 msgstr "führende „/“-Zeichen in den Dateinamen erhalten"
 
-#: src/tar.c:656
+#: src/tar.c:665
 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:658
+#: src/tar.c:667
 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:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr "ELEMENT-NAME"
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr "mit ELEMENT-NAME im Archiv beginnen"
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "nur Dateien ablegen, die neuer als DATUM-ODER-DATEI sind"
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr "DATUM"
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr "Datum und Zeit nur überprüfen, wenn Daten geändert wurden"
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr "KONTROLLE"
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr "Sicherung vor dem Entfernen, wähle Versions-KONTROLLE"
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr "ZEICHENKETTE"
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -1906,90 +1940,90 @@ msgstr ""
 "Sicherung vor dem Entfernen, übliches Suffix ersetzen („~“, wenn nicht durch "
 "Umgebungsvariable SIMPLE_BACKUP_SUFFIX anders gesetzt)"
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr "Dateinamentransformationen:"
 
-#: src/tar.c:676
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "ZAHL führende Komponenten beim Extrahieren von Dateinamen entfernen"
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr "AUSDRUCK"
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "den sed-AUSDRUCK zur Dateinamentransformation benutzen"
 
-#: src/tar.c:684
+#: src/tar.c:694
 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:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr "Groß-/Kleinschreibung ignorieren"
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr "Muster am Dateinamensanfang ausrichten"
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr "Muster passen nach jedem „/“ (Voreinstellung beim Ausschluss)"
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr "Groß-/Kleinschreibung beachten (Voreinstellung)"
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr "Muster benutzen (Voreinstellung für Ausschluss)"
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr "Zeichenketten sind buchstabengetreu"
 
-#: src/tar.c:699
+#: src/tar.c:709
 msgid "wildcards do not match `/'"
 msgstr "Jokerzeichen passen nicht auf „/“"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr "Jokerzeichen passen auf „/“ (Voreinstellung für Ausschluss)"
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr "Informationen:"
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr "bearbeitete Dateien ausführlich listen"
 
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 "Fortschrittsnachrichten bei jedem ZAHLten Record (Voreinstellung 10) anzeigen"
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr "AKTION"
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr "AKTION bei jedem Kontrollpunkt ausführen"
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr ""
 "eine Nachricht ausgeben, wenn nicht alle Verknüpfungen abgespeichert werden"
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr "SIGNAL"
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2001,27 +2035,27 @@ msgstr ""
 "wird; erlaubte Signale sind: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 und SIGUSR2; "
 "die Namen ohne das Präfix SIG sind auch erlaubt"
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr "Dateiänderungszeiten in UTC anzeigen"
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr "ausführliche Ausgabe in DATEI schreiben"
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr "bei jeder Nachricht die Blocknummer innerhalb des Archivs mit anzeigen"
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr "für jede Aktion um Bestätigung bitten"
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr "Voreinstellungen von tar anzeigen"
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2029,86 +2063,86 @@ msgstr ""
 "beim Listen oder Extrahieren jedes Verzeichnis auflisten, dass nicht den "
 "Suchkriterien entspricht"
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr "Datei- oder Archivnamen nach der Transformation anzeigen"
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr "STIL"
 
-#: src/tar.c:741
+#: src/tar.c:751
 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:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr "zusätzliche Zeichen aus ZEICHENKETTE zitieren"
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr "Zeichen aus ZEICHENKETTE nicht zitieren"
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr "Kompatibilitätsoptionen:"
 
-#: src/tar.c:753
+#: src/tar.c:763
 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:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr "Weitere Optionen:"
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr "möglicherweise schädliche Optionen deaktivieren"
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Von den Optionen „-Acdtrux“ ist nur _eine_ erlaubt."
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Kompressionsoptionen schließen sich gegenseitig aus."
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Unbekannter Signalname: %s"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 msgid "Date sample file not found"
 msgstr "Datumsdatei nicht gefunden"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Ersetze %s für unbekanntes Datumsformat %s"
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr "Option %s: Behandle Datum „%s“ als %s"
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, c-format
 msgid "%s: file list already read"
 msgstr "%s: Dateiliste schon gelesen"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: gelesener Dateiname enthält ein NULL-Zeichen"
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr "Gültige Argumente für die Option --quoting-style sind:"
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2116,153 +2150,166 @@ msgstr ""
 "\n"
 "*Dieses* „tar“ hat als Voreinstellung:\n"
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Ungültige Blockgröße"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr "Warnung: Die Option -I ist nicht unterstützt, meinen Sie -j oder -T?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Ungültige Bandlänge"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Mehr als ein Datum angegeben."
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr "Ungültiger Wert für Sparse-Version"
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' wird auf dieser Plattform nicht unterstützt"
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr "Wert für --checkpoint ist keine ganze Zahl"
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: Ungültige Gruppe"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Ungültige Zugriffsrechte angegeben."
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr "Ungültige Zahl"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Ungültiger Benutzer"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Ungültiger Wert für Recordgröße."
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Die Recordgröße muss ein Vielfaches von %d sein."
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr "Ungültige Elementanzahl"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr "Nur eine Option --to-command erlaubt"
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Fehlgeformtes Dichteargument: %s"
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
 msgstr "Unbekannte Dicht: „%c“"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, 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:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr "[DATEI]..."
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "Die alte Option „%c“ benötigt einen Parameter."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence ist ohne Dateiliste bedeutungslos"
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr ""
 "--occurrence kann im angeforderten Operationsmodus nicht benutzt werden"
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 msgid "Multiple archive files require `-M' option"
 msgstr "Mehrere Archivdateien verlangen die Option „-M“."
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "--listed-incremental kann nicht mit --newer benutzt werden"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Kann mehrteilige Archive nicht prüfen."
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Kann komprimierte Archive nicht prüfen"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Kann keine mehrteiligen komprimierten Archive verwenden."
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 msgid "Cannot concatenate compressed archives"
 msgstr "Kann komprimierte Archive nicht aneinanderhängen"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option kann nur mit POSIX-Archiven benutzt werden"
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Anlegen eines leeren Archivs wird feige verweigert."
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "Die Optionen „-Aru“ sind nicht kompatibel mit „-f -“."
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Eine der Optionen „-Acdtrux“ ist notwendig."
 
-# Was ist hier genau gemeint? ke
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Fehler beim Beenden, verursacht durch vorhergehende Fehler."
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, c-format
@@ -2271,52 +2318,52 @@ msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Datei ist um ein Byte geschrumpft."
 msgstr[1] "%s: Datei ist um %s Bytes geschrumpft."
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Schlüsselwort %s ist unbekannt oder noch nicht implementiert"
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Muster %s kann nicht benutzt werden"
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Schlüsselwort %s kann nicht überschrieben werden"
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr "Fehlgeformter erweiterter Kopfteil: fehlende Länge"
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr "Länge des erweiterten Kopfteils ist außerhalb des erlaubten Bereichs"
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Länge %*s des erweiterten Kopfteils ist außerhalb des Bereichs"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr "Fehlgeformter erweiterter Kopfteil: fehlender Leerraum nach der Länge"
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr "Fehlgeformter erweiterter Kopfteil: fehlendes Gleichheitszeichen"
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr "Fehlgeformter erweiterter Kopfteil: fehlender Zeilenvorschub"
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr "Ignoriere unbekanntes Schlüsselwort „%s“ für erweiterten Kopfteil"
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2324,29 +2371,29 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:812
+#: src/xheader.c:810
 #, 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:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Fehlgeformter erweiterter Kopfteil: ungültiges %s=%s"
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Fehlgeformter erweiterter Kopfteil: überzähliges %s=%s"
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, 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:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2526,102 +2573,120 @@ msgstr "Zahl außerhalb des zulässigen Bereichs: %s"
 msgid "Negative size: %s"
 msgstr "Negative Größe: %s"
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) fehlgeschlagen"
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Fehler beim Parser der Zahl in der Nähe von „%s“"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, c-format
 msgid "Unknown date format"
 msgstr "Unbekanntes Datumsformat"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr "[ARGUMENTE...]"
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
 msgstr "kann „%s“ nicht öffnen"
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 msgid "cannot seek"
 msgstr "kann nicht positionieren"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr "Dateiname enthält Null-Zeichen"
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, 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:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "inkorrekte Maske (nahe „%s“)"
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "unbekannte Feld „%s“"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "kann an „%s“ keine Zeit setzen"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Befehl erfolgreich ausgeführt\n"
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Befehl schlug mit Beendigungsstatus %d fehl.\n"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Befehl beendete sich bei Signal %d\n"
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Befehl hieltb bei Signal %d an\n"
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Befehl erzeugte einen Core-Dump\n"
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr "Befehl beendet\n"
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat erfordert Dateinamen"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr "zu viele Argumente"
 
+#, fuzzy
+#~ msgid "cancel effect of the previous --transform-links option"
+#~ msgstr "den Effekt von --delay-directory-restore aufheben"
+
+# Was ist hier genau gemeint? ke
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Fehler beim Beenden, verursacht durch vorhergehende Fehler."
+
 #~ msgid "[.]NUMBER"
 #~ msgstr "[.]ZAHL"
 
index 5501f19b41ba2566d7a4c72b55c95d2397672a73..54e2810886f84775718fa8fa96340d5ffc363786 100644 (file)
Binary files a/po/el.gmo and b/po/el.gmo differ
index e9e53f0b7f1ee5d354672d05ad5ccdf8c490f5b9..7422af6d1462f60580059c088e0d967de0d2bf22 100644 (file)
--- a/po/el.po
+++ b/po/el.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.13.25 \n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
 "PO-Revision-Date: 2004-03-08 14:44+0200\n"
 "Last-Translator: Μπαλάσκας Ευάγγελος (Balaskas Euaggelos) <ebalaskas@cs."
 "teiath.gr>\n"
@@ -83,7 +83,7 @@ msgstr ""
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr "Προσπαθήστε `%s --help' για περισσότερες πληροφορίες.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, fuzzy, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
@@ -94,15 +94,15 @@ msgstr ""
 msgid "Unknown system error"
 msgstr "Άγνωστο σφάλμα συστήματος"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr ""
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr ""
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr ""
@@ -115,11 +115,11 @@ msgstr ""
 msgid "SECS"
 msgstr ""
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr ""
 
@@ -137,7 +137,7 @@ msgstr "%s: η επιλογή `%s' απαιτεί όρισμα\n"
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr ""
 
@@ -196,16 +196,16 @@ msgstr "%s: η επιλογή `-W %s' είναι αμφιλεγόμενη\n"
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: η επιλογή `-W %s' δεν επιτρέπει όρισμα\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "η μνήμη εξαντλήθηκε"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Δεν είναι δυνατή η τροποποίηση του τρέχοντος καταλόγου"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Δεν είναι δυνατή η αποθήκευση του τρέχοντος καταλόγου"
@@ -327,11 +327,23 @@ msgstr "`"
 msgid "'"
 msgstr "'"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr ""
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr ""
 
@@ -540,104 +552,104 @@ msgstr "Πρόωρο τέλος αρχείου"
 msgid "Garbage command"
 msgstr "Εντολή απορριμμάτων"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Αυτό δεν φαίνεται ως αρχειοθήκη tar"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 #, fuzzy
 msgid "Total bytes written"
 msgstr "Συνολικά byte που γράφτηκαν: %s (%sB, %sB/s)\n"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr ""
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, fuzzy, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Συνολικά byte που γράφτηκαν: %s (%sB, %sB/s)\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(σωλήνωση)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "Άκυρη τιμή για record_size"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Δεν δόθηκε όνομα αρχειοθήκης"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr ""
 "Δεν είναι δυνατή η επαλήθευση των κανονικών εισόδων/εξόδων της αρχειοθήκης"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr ""
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Δεν είναι δυνατή η ανανέωση των συμπιεσμένων αρχειοθηκών"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "Στην αρχή της ταινίας, τερματισμός τώρα"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Πάρα πολλά σφάλματα, τερματισμός"
 
-#: src/buffer.c:678
-#, 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:698
+#: src/buffer.c:695
 #, 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:771
+#: src/buffer.c:716
+#, 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:793
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 
-#: src/buffer.c:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: περιέχει άκυρο αριθμό τόμου"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Υπερχήλιση αριθμού τόμου"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Προετοίμασε τον τόμο #%d για %s και πάτα το πλήκτρο επιστροφής γραμμής"
 
-#: src/buffer.c:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "EOF (Τέλος Αρχείου) ενώ η απάντηση του χρήστη αναμενότανε"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "ΠΡΟΕΙΔΟΠΟΊΗΣΗ: Η αρχειοθήκη είναι ημιτελής"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -649,69 +661,74 @@ msgstr ""
 " !          Παραγωγή νέου υπό-φλοιού\n"
 " ?          Εκτύπωση αυτής της λίστας\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Κανένας νέος τόμος; έξοδος\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, fuzzy, c-format
 msgid "%s command failed"
 msgstr "`%s' η εντολή απέτυχε"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, fuzzy, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s δεν συνεχίζεται σε αυτόν τον τόμο"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s δεν συνεχίζεται σε αυτόν τον τόμο"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s είναι το εσφαλμένο μέγεθος (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Αυτός ο τόμος είναι εκτός συνέχειας"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Η αρχειοθήκη δεν έχει ετικέτα για ταίριασμα %s"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Ο τόμος %s δεν ταιριάζει %s"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 
+#: src/buffer.c:1619
+msgid "write did not end on a block boundary"
+msgstr ""
+
 #: src/compare.c:96
 #, fuzzy, c-format
 msgid "Could only read %lu of %lu byte"
@@ -723,8 +740,8 @@ msgstr[1] "Δυνατή μόνο η ανάγνωση %lu από %lu byte"
 msgid "Contents differ"
 msgstr "Τα περιεχόμενα διαφέρουν"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Μη αναμενόμενο EOF (Τέλος Αρχείου) στην αρχειοθήκη"
 
@@ -841,7 +858,7 @@ msgstr[1] "%s: Το αρχείο συρρικνώθηκε σε %s bytes; συμ
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: το αρχείο είναι σε διαφορετικό σύστημα αρχείων; δεν αποθηκεύτηκε"
 
-#: src/create.c:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr ""
 
@@ -870,7 +887,7 @@ msgstr "%s: το αρχείο είναι η αρχειοθήκη; δεν απο
 msgid "%s: File removed before we read it"
 msgstr "%s: Το αρχείο απομακρύνθηκε πριν το διαβάσουμε"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr ""
 
@@ -921,168 +938,168 @@ msgstr "%s: Ο κατάλογος μετονομάστηκε πριν η κατ
 msgid "Extracting contiguous files as regular files"
 msgstr "Εξαγωγή συνεχόμενων αρχείων ως κανονικών αρχείων"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Προσπάθεια εξαγωγής των συμβολικών συνδέσμων ως σθεναρών συνδέσμων"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Ανάγνωση %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Δεν είναι δυνατή η εξαγωγή -- το αρχείο συνεχίζεται σε άλλο τόμο"
 
-#: src/extract.c:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "Μη αναμενόμενο EOF (Τέλος Αρχείου) στα κατακερματισμένα ονόματα"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, fuzzy, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
 msgstr "%s: Άγνωστος τύπος αρχείου '%c', εξαγωγή ως κανονικό αρχείο"
 
-#: src/extract.c:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr ""
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Δεν είναι δυνατή η αποθήκευση αυτού του αρχείου"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, fuzzy, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s: Δεν είναι δυνατή η μετονομασία σε %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "Το σφάλμα δεν είναι επανορθώσιμο: τερματισμός τώρα"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, fuzzy, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Ο κατάλογος έχει μετονομαστεί"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Ο κατάλογος έχει μετονομαστεί"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Ο κατάλογος είναι καινούριος"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Άκυρη ένδειξη χρόνου"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 #, fuzzy
 msgid "Invalid modification time (seconds)"
 msgstr "Άκυρη κατάσταση δόθηκε σε επιλογή"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr ""
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Άκυρος αριθμός συσκευής"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Άκυρος αριθμός i-κόμβου"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr ""
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr ""
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "Μη αναμενόμενο EOF (Τέλος Αρχείου) στην αρχειοθήκη"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr ""
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr ""
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr ""
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr ""
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr ""
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, fuzzy, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Δεν είναι δυνατή η δέσμευση μνήμης για τον συντελεστή ομαδοποίησης %d"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr ""
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, fuzzy, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: το αρχείο είναι σε διαφορετικό σύστημα αρχείων; δεν αποθηκεύτηκε"
 
-#: src/incremen.c:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Διαγραφή %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Δεν είναι δυνατή η απομάκρυνση"
@@ -1102,19 +1119,19 @@ msgstr "μπλοκ %s: ** Μπλοκ με χαρακτήρες NUL **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "μπλοκ %s: ** Τέλος Αρχείου **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "μπλοκ %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1122,70 +1139,70 @@ msgstr ""
 "συμπληρώματα"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:728
+#: src/list.c:737
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Αρχειοθήκη οκταδικής τιμής %.*s είναι εκτός του %s εύρους"
 
-#: src/list.c:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Η αρχειοθήκη περιέχει απαρχαιωμένες επικεφαλίδες κωδικοποίησης base64"
 
-#: src/list.c:763
+#: src/list.c:772
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr ""
 "Η αρχειοθήκη είναι υπογεγραμμένη με αλφαριθμητικά base-64 %s είναι εκτός του "
 "%s εύρους"
 
-#: src/list.c:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Η τιμή της αρχειοθήκης %s είναι εκτός του %s εύρους %s..%s"
 
-#: src/list.c:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " σύνδεσμος σε %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " άγνωστος τύπος αρχείου %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr ""
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr ""
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Επικεφαλίδα Τόμου--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Συνέχιση στο byte %s--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Δημιουργία καταλόγου:"
 
@@ -1222,24 +1239,24 @@ msgstr "κανάλι μεταξύ διεργασιών"
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr ""
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr ""
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Δεν βρέθηκε στην αρχειοθήκη"
 
-#: src/names.c:621
+#: src/names.c:615
 #, fuzzy, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Δεν βρέθηκε στην αρχειοθήκη"
@@ -1264,7 +1281,7 @@ msgid ""
 "Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
 msgstr ""
 
-#: src/tar.c:334
+#: src/tar.c:336
 #, fuzzy
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
@@ -1285,7 +1302,7 @@ msgstr ""
 "archive.tar με λεπτομέρειες.\n"
 "  %s -xf archive.tar          # Εξάγει όλα τα αρχεία από το archive.tar.\n"
 
-#: src/tar.c:343
+#: src/tar.c:345
 #, fuzzy
 msgid ""
 "The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
@@ -1308,87 +1325,87 @@ msgstr ""
 "διαφορετικά\n"
 "  never, simple   πάντα κάνε απλά αντίγραφα\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr ""
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr ""
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr ""
 
-#: src/tar.c:377
+#: src/tar.c:379
 #, fuzzy
 msgid "create a new archive"
 msgstr "Μη αναμενόμενο EOF (Τέλος Αρχείου) στην αρχειοθήκη"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr ""
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr ""
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr ""
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr ""
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr ""
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr ""
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr ""
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr ""
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr ""
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr ""
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1396,559 +1413,572 @@ msgid ""
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr ""
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr ""
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr ""
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr ""
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr ""
 
-#: src/tar.c:435
+#: src/tar.c:437
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 
-#: src/tar.c:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr ""
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr ""
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr ""
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr ""
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr ""
 
-#: src/tar.c:454
+#: src/tar.c:456
 #, fuzzy
 msgid "extract files to standard output"
 msgstr "Σφάλμα κατά την εγγραφή στην κανονική έξοδο"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr ""
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr ""
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr ""
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr ""
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr ""
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr ""
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:472
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr ""
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr ""
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr ""
 
-#: src/tar.c:477
+#: src/tar.c:479
 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:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr ""
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr ""
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr ""
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr ""
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr ""
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr ""
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr ""
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr ""
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr ""
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
 msgstr ""
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr ""
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr ""
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr ""
 
-#: src/tar.c:535
+#: src/tar.c:537
 #, fuzzy
 msgid "create/list/extract multi-volume archive"
 msgstr "Δεν είναι δυνατή η επαλήθευση πολλαπλών αρχειοθηκών"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr ""
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr ""
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr ""
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr ""
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr ""
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr ""
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr ""
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr ""
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr ""
 
-#: src/tar.c:561
+#: src/tar.c:563
 #, fuzzy
 msgid "Archive format selection:"
 msgstr "Συγκρουόμενες επιλογές διαμόρφωσης αρχειοθήκης"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr ""
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr ""
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr ""
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr ""
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr ""
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr ""
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr ""
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr ""
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr ""
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr ""
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr ""
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
 
-#: src/tar.c:592
+#: src/tar.c:594
 #, fuzzy
 msgid "Compression options:"
 msgstr "Συγκρουόμενες επιλογές συμπίεσης"
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:596
+#: src/tar.c:598
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr ""
 
-#: src/tar.c:598
+#: src/tar.c:603
 #, fuzzy
 msgid "filter the archive through gzip"
 msgstr "%s: το αρχείο είναι η αρχειοθήκη; δεν αποθηκεύτηκε"
 
-#: src/tar.c:602
+#: src/tar.c:607
 #, fuzzy
 msgid "filter the archive through compress"
 msgstr "%s: το αρχείο είναι η αρχειοθήκη; δεν αποθηκεύτηκε"
 
-#: src/tar.c:605
+#: src/tar.c:610
 #, fuzzy
 msgid "filter the archive through lzma"
 msgstr "%s: το αρχείο είναι η αρχειοθήκη; δεν αποθηκεύτηκε"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "%s: το αρχείο είναι η αρχειοθήκη; δεν αποθηκεύτηκε"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr ""
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr ""
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr ""
 
-#: src/tar.c:615
+#: src/tar.c:622
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 
-#: src/tar.c:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr ""
 
-#: src/tar.c:617
+#: src/tar.c:624
 #, fuzzy
 msgid "change to directory DIR"
 msgstr "Δεν είναι δυνατή η τροποποίηση του τρέχοντος καταλόγου"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr ""
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr ""
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr ""
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr ""
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr ""
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr ""
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr ""
 
-#: src/tar.c:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/tar.c:639
+#: src/tar.c:648
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 
-#: src/tar.c:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
 msgstr ""
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr ""
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr ""
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr ""
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr ""
 
-#: src/tar.c:654
+#: src/tar.c:663
 #, fuzzy
 msgid "don't strip leading `/'s from file names"
 msgstr "Απομακρύνονται τα αρχικά `%.*s' από τα ονόματα των μελών"
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:658
+#: src/tar.c:667
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr ""
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr ""
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr ""
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr ""
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr ""
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr ""
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:676
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/tar.c:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr ""
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr ""
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr ""
 
-#: src/tar.c:699
+#: src/tar.c:709
 #, fuzzy
 msgid "wildcards do not match `/'"
 msgstr "Ο τόμος %s δεν ταιριάζει %s"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr ""
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1956,270 +1986,284 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr ""
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr ""
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr ""
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr ""
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr ""
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Ίσως δεν καθορίσατε παραπάνω από μία επιλογή `-Acdtrux'"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Συγκρουόμενες επιλογές συμπίεσης"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr " άγνωστος τύπος αρχείου %s\n"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 #, fuzzy
 msgid "Date sample file not found"
 msgstr "Το αρχείο ημερομηνίας δεν βρέθηκε"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Αντικατάσταση %s για άγνωστη διαμόρφωση ημερομηνίας %s"
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr ""
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, fuzzy, c-format
 msgid "%s: file list already read"
 msgstr "%s: το αρχείο είναι η αρχειοθήκη; δεν αποθηκεύτηκε"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr ""
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Άκυρος συντελεστής ομαδοποίησης"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr ""
 "Προειδοποίηση: η -I επιλογή δεν υποστηρίζεται; ίσως εννοούσατε την -j ή την -"
 "T;"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Άκυρο μέγεθος ταινίας"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Παραπάνω από ένα όριο ημερομηνίας"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: Άκυρη ομάδα"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Άκυρη κατάσταση δόθηκε σε επιλογή"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 #, fuzzy
 msgid "Invalid number"
 msgstr "Άκυρος αριθμός i-κόμβου"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Άκυρος ιδιοκτήτης"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Άκυρο μέγεθος εγγραφής"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Το μέγεθος της εγγραφής πρέπει να είναι πολλαπλάσιο του %d."
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 #, fuzzy
 msgid "Invalid number of elements"
 msgstr "Άκυρο μέγεθος ταινίας"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
 msgstr ""
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, c-format
 msgid "Options `-[0-7][lmh]' not supported by *this* tar"
 msgstr ""
 "Οι επιλογές `-[0-7][lmh]' δεν υποστηρίζονται από *αυτήν* την εντολή tar"
 
-#: src/tar.c:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr ""
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "Παλιά επιλογή `%c' απαιτεί όρισμα."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr ""
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 #, fuzzy
 msgid "Multiple archive files require `-M' option"
 msgstr "Πολλαπλά αρχεία αρχειοθηκών απαιτούν την επιλογή `-M'"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "Δεν είναι δυνατός ο συνδυασμός --listed-incremental με --newer"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Δεν είναι δυνατή η επαλήθευση πολλαπλών αρχειοθηκών"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Δεν είναι δυνατή η επαλήθευση των συμπιεσμένων αρχειοθηκών"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Δεν είναι δυνατή η χρήση πολλαπλών συμπιεσμένων αρχειοθηκών"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "Δεν είναι δυνατή η ανανέωση των συμπιεσμένων αρχειοθηκών"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Αρνούμαι δειλά στη δημιουργία μίας κενής αρχειοθήκης"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "Οι επιλογές `-Aru' δεν είναι συμβατές με  `-f -'"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Πρέπει να καθορίσεις μία από τις επιλογές `-Acdtrux'"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Καθυστέρησε το σφάλμα εξόδου από προηγούμενα σφάλματα"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, fuzzy, c-format
@@ -2228,81 +2272,81 @@ msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Το αρχείο συρρικνώθηκε κάτα %s byte"
 msgstr[1] "%s: Το αρχείο συρρικνώθηκε κάτα %s byte"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr ""
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr ""
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr ""
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr ""
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr ""
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, fuzzy, c-format
 msgid "Extended header length %*s is out of range"
 msgstr ""
 "Η αρχειοθήκη είναι υπογεγραμμένη με αλφαριθμητικά base-64 %s είναι εκτός του "
 "%s εύρους"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr ""
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr ""
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr ""
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, fuzzy, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Η τιμή της αρχειοθήκης %s είναι εκτός του %s εύρους %s..%s"
 
-#: src/xheader.c:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr ""
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr ""
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2465,97 +2509,107 @@ msgstr "Ο αριθμός του i-κόμβου είναι εκτός εύρου
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Άγνωστο σφάλμα συστήματος"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
 msgstr ""
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 #, fuzzy
 msgid "cannot seek"
 msgstr "Δεν είναι δυνατό το κλείσιμο"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr " άγνωστος τύπος αρχείου %s\n"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "%s: Δεν είναι δυνατή η αναζήτηση σε %s"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr ""
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, fuzzy, c-format
 msgid "Command failed with status %d\n"
 msgstr "Η θυγατρική διεργασία τερματίστηκε με το σήμα %d"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr ""
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, fuzzy, c-format
 msgid "--stat requires file names"
 msgstr "--Κατακερματισμένα ονόματα αρχείων--\n"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr ""
@@ -3031,6 +3085,9 @@ msgstr ""
 #~ msgid "Written by John Gilmore and Jay Fenlason."
 #~ msgstr "Γράφτηκε από τους John Gilmore και Jay Fenlason."
 
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Καθυστέρησε το σφάλμα εξόδου από προηγούμενα σφάλματα"
+
 #~ msgid ""
 #~ "If a long option shows an argument as mandatory, then it is mandatory\n"
 #~ "for the equivalent short option also.\n"
index 39d43861ba27baf1587fa600df990a6a810d6352..5284df9e08d031bb05dd912bd26bb78fdf1b9246 100644 (file)
Binary files a/po/es.gmo and b/po/es.gmo differ
index 2677be256368e8baa92e7b281e74b5d28a1d676a..52d1cd63594ce9065e92800087ed848d0040c5ec 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GNU tar 1.15.1\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
 "PO-Revision-Date: 2004-12-27 20:45+0100\n"
 "Last-Translator: Santiago Vila Doncel <sanvila@unex.es>\n"
 "Language-Team: Spanish <es@li.org>\n"
@@ -99,7 +99,7 @@ msgstr "Pruebe `%s --help' o `%s --usage' para m
 # ¿No tendría sentido catalogarlos entonces?
 #
 # Véase "A Bug's life".
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Comunicar bichos a %s.\n"
@@ -108,17 +108,17 @@ msgstr "Comunicar bichos a %s.\n"
 msgid "Unknown system error"
 msgstr "Error del sistema desconocido"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 #, fuzzy
 msgid "give this help list"
 msgstr "Da esta lista de ayuda"
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 #, fuzzy
 msgid "give a short usage message"
 msgstr "Da un mensaje de uso corto"
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr "NOMBRE"
@@ -131,11 +131,11 @@ msgstr ""
 msgid "SECS"
 msgstr ""
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 #, fuzzy
 msgid "print program version"
 msgstr "Muestra la versión del programa"
@@ -154,7 +154,7 @@ msgstr "%s: la opci
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr ""
 
@@ -213,16 +213,16 @@ msgstr "%s: la opci
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: la opción `-W %s' no admite ningún argumento\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "memoria agotada"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "No se pudo obtener el directorio actual"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "No se puede determinar el directorio de trabajo inicial"
@@ -344,11 +344,23 @@ msgstr "`"
 msgid "'"
 msgstr "'"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr ""
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr ""
 
@@ -567,8 +579,8 @@ msgstr "Fin de fichero prematuro"
 msgid "Garbage command"
 msgstr "Orden ininteligible"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Esto no parece un archivo tar"
 
@@ -577,12 +589,12 @@ msgstr "Esto no parece un archivo tar"
 # "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:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 #, fuzzy
 msgid "Total bytes written"
 msgstr "Bytes escritos en total: %s (%s, %s/s)\n"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr ""
 
@@ -591,7 +603,7 @@ msgstr ""
 # "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:344
+#: src/buffer.c:363
 #, fuzzy, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Bytes escritos en total: %s (%s, %s/s)\n"
@@ -610,17 +622,17 @@ msgstr "Bytes escritos en total: %s (%s, %s/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:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(tubería)"
 
 # ¿No queda más bonita la 1ª comilla abierta así: `record_size'?
 # Sí. FIXME. Comunicar al autor. sv
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "El valor de `record_size' no es válido"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "No se ha especificado ningún nombre de archivo"
 
@@ -639,69 +651,69 @@ msgstr "No se ha especificado ning
 # 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:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "No se puede verificar la entrada/salida estándar"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "El archivo está comprimido. Utilice la opción %s"
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "No se pueden actualizar archivos comprimidos"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "Al principio de la cinta, se terminará ahora"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Demasiados errores, abandono"
 
-#: src/buffer.c:678
-#, 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:698
+#: src/buffer.c:695
 #, 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:771
+#: src/buffer.c:716
+#, 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:793
 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:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek no paró en los límites de un registro"
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: contiene un número de volumen inválido"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Desbordamiento en el número de volumen"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Prepare el volumen #%d para %s y pulse intro: "
 
-#: src/buffer.c:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr ""
 "Se encontró un final de fichero mientras se esperaba respuesta del usuario"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "ATENCIÓN: El archivo está incompleto"
 
@@ -733,7 +745,7 @@ msgstr "ATENCI
 # A mí aquí me da igual lista que ayuda, de las dos formas se entiende. Manda
 # el traductor original. gerardo
 # ¿A alguien más le parece mal que ponga ayuda en vez de lista? sv
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -746,12 +758,12 @@ msgstr ""
 " !          Lanza un subshell\n"
 " ?          Muestra esta ayuda\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
@@ -762,35 +774,35 @@ msgstr ""
 # Uno se sale del programa, y éste acaba. En realidad, también da igual, de
 # cualquier forma se entiende, pero mejor acabar o terminar que finalizar,
 # total, son sinónimos. gerardo
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "No hay volumen nuevo; finalizando.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, fuzzy, c-format
 msgid "%s command failed"
 msgstr "La orden `%s' falló"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, 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:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s no continúa en este volumen"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s tiene un tamaño erróneo (%s != %s + %s)"
@@ -810,8 +822,9 @@ msgstr "%s tiene un tama
 # él solito.
 # Todavía espero una solución mágica que sea mejor que las dos
 # que tenemos hasta ahora.
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Este volumen está fuera de secuencia"
 
 # Ojo que esto podría referirse a "is not being labelled NOW" en vez de
@@ -820,17 +833,17 @@ msgstr "Este volumen est
 # Si no se sabe eso, se podría dejar de forma más neutra como
 # "Archivo no etiquetado para concordancia con `%s'" - gerardo (gag)
 # FIXME: Preguntar.
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "El archivo no está etiquetado para que coincida con %s"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "El volumen %s no coincide con %s"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, fuzzy, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -839,6 +852,14 @@ msgstr ""
 "cabecera\n"
 "multivolumen de GNU"
 
+# 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:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "El fin del archivo %s no está en un límite de bloque"
+
 #: src/compare.c:96
 #, c-format
 msgid "Could only read %lu of %lu byte"
@@ -850,8 +871,8 @@ msgstr[1] "S
 msgid "Contents differ"
 msgstr "El contenido es distinto"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Fin de fichero inesperado en el archivo"
 
@@ -1004,7 +1025,7 @@ 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:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 #, fuzzy
 msgid "contents not dumped"
 msgstr " (memoria volcada)"
@@ -1051,7 +1072,7 @@ msgstr "%s: el fichero es el propio archivo; no se vuelca"
 msgid "%s: File removed before we read it"
 msgstr "%s: El fichero fue borrado antes de leerlo"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 #, fuzzy
 msgid "directory not dumped"
 msgstr "%s: contiene una marca de directorio caché; no se vuelca"
@@ -1113,175 +1134,175 @@ 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:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Intentando la extracción de enlaces simbólicos como enlaces duros"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Leyendo %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, 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:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "Fin de fichero inesperado en los nombres modificados"
 
 # FIXME. Lo de las comillas '%c'.
 # Como antes, lo estandarizo en la traducción a pesar de todo.
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, fuzzy, 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:1184
+#: src/extract.c:1181
 #, fuzzy, c-format
 msgid "Current %s is newer or same age"
 msgstr "El `%s' actual es más reciente"
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, 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:1358
+#: src/extract.c:1355
 #, fuzzy, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s: No se puede renombrar a %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "El error no es recuperable: salida ahora"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, fuzzy, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: El directorio ha sido renombrado"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: El directorio ha sido renombrado"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: El directorio es nuevo"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Marca de tiempo inválida"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 #, fuzzy
 msgid "Invalid modification time (seconds)"
 msgstr "Se ha especificado un modo no válido en la opción"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr ""
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Número de dispositivo inválido"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Número de nodo-i inválido"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr ""
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 #, fuzzy
 msgid "Read error in snapshot file"
 msgstr "Error de lectura en %s"
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "Fin de fichero inesperado en el archivo"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr ""
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr ""
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr ""
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 #, fuzzy
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Argumento de densidad mal formado: '%s'"
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 #, fuzzy
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Argumento de densidad mal formado: '%s'"
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr ""
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, 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:1556
+#: src/incremen.c:1616
 #, 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:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Borrando %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: No se puede borrar"
@@ -1301,19 +1322,19 @@ msgstr "bloque %s: ** Bloque de NULos **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "bloque %s: ** Fin de Fichero **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "bloque %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1321,68 +1342,68 @@ msgstr ""
 "se supone complemento a dos"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:728
+#: src/list.c:737
 #, 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:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "El archivo contiene cabeceras base 64 obsoletas"
 
-#: src/list.c:763
+#: src/list.c:772
 #, 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:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, fuzzy, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "El valor del archivo %s está fuera del rango %s %s.%s"
 
-#: src/list.c:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " enlace a %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " tipo de fichero desconocido %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Enlace largo--\n"
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Nombre largo--\n"
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Cabecera de Volumen--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Continúa en el byte %s--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Creando el directorio:"
 
@@ -1419,24 +1440,24 @@ msgstr "canal de interproceso"
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr ""
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr ""
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: No se encuentra en el archivo"
 
-#: src/names.c:621
+#: src/names.c:615
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: El elemento solicitado no se encuentra en el archivo"
@@ -1476,7 +1497,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:334
+#: src/tar.c:336
 #, fuzzy
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
@@ -1521,7 +1542,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:343
+#: src/tar.c:345
 #, fuzzy
 msgid ""
 "The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
@@ -1552,73 +1573,73 @@ msgstr ""
 "                  en otro caso\n"
 "  never, simple   siempre hace copias de seguridad simples\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr "Modo principal de operación:"
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr "lista el contenido de un archivo"
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr "extrae ficheros de un archivo"
 
-#: src/tar.c:377
+#: src/tar.c:379
 msgid "create a new archive"
 msgstr "crea un nuevo archivo"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr "encuentra las diferencias entre un archivo y el sistema de ficheros"
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr "añade ficheros al final de un archivo"
 
-#: src/tar.c:384
+#: src/tar.c:386
 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:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr "añade ficheros tar a un archivo"
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "borra del archivo (¡no en cintas magnéticas!)"
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr "Modificadores de operación:"
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr "maneja ficheros dispersos de forma eficiente"
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr "maneja el formato GNU antiguo de respaldo incremental"
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr "FICHERO"
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr "maneja el nuevo formato GNU de respaldo incremental"
 
@@ -1629,16 +1650,16 @@ msgstr "maneja el nuevo formato GNU de respaldo incremental"
 # # encuentre ficheros ilegibles. (¡Uf! Ahora a ver cómo se pone esto en
 # # media línea.) gag
 #
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr "no sale con estado distinto de cero cuando hay ficheros ilegibles"
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr "NÚMERO"
 
-#: src/tar.c:409
+#: src/tar.c:411
 #, fuzzy
 msgid ""
 "process only the NUMBERth occurrence of each file in the archive; this "
@@ -1652,202 +1673,202 @@ msgstr ""
 "órdenes o con la opción -T. El valor predeterminado de NUM es 1."
 
 # Mejor eso que inventarse un palabro, digo yo. sv
-#: src/tar.c:415
+#: src/tar.c:417
 #, fuzzy
 msgid "archive is seekable"
 msgstr "El archivo admite `seek'"
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr ""
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr "intenta verificar el archivo después de escribirlo"
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr "borra los ficheros después de añadirlos al archivo"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr "no reemplaza ficheros que existan al extraer"
 
-#: src/tar.c:435
+#: src/tar.c:437
 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:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr "sobreescribe los ficheros que existan al extraer"
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr "borra cada fichero antes de extraer sobre él"
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr "vacía jerarquías antes de extraer directorios"
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr "conserva los metadatos de los directorios que existan"
 
-#: src/tar.c:445
+#: src/tar.c:447
 #, fuzzy
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr "sobreescribe los ficheros que existan al extraer"
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr ""
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
 msgstr "extrae los ficheros a la salida estándar"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr "ORDEN"
 
-#: src/tar.c:456
+#: src/tar.c:458
 #, fuzzy
 msgid "pipe extracted files to another program"
 msgstr "extrae los ficheros a la salida estándar"
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr ""
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr "Manejo de los atributos del fichero:"
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr "fuerza NOMBRE como propietario de los ficheros que se añaden"
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr "fuerza NOMBRE como grupo para los ficheros que se añaden"
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr "FECHA-O-FICHERO"
 
-#: src/tar.c:472
+#: src/tar.c:474
 #, fuzzy
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "almacena solamente ficheros más recientes que FECHA-O-FICHERO"
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr "CAMBIOS"
 
-#: src/tar.c:474
+#: src/tar.c:476
 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:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr ""
 
-#: src/tar.c:477
+#: src/tar.c:479
 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:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr "no extrae la fecha de modificación del fichero"
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr "intenta extraer los ficheros con el mismo propietario"
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr "extrae los ficheros como usted mismo"
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr "utiliza siempre números para los nombres de usuarios/grupos"
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr "ordena los nombres que se extraen para que coincidan con el archivo"
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr "lo mismo que -p y -s"
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr ""
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr "Selección de dispositivo y opciones:"
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr "ARCHIVO"
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr "utiliza un archivo o el dispositivo ARCHIVO"
 
-#: src/tar.c:513
+#: src/tar.c:515
 #, fuzzy
 msgid "archive file is local even if it has a colon"
 msgstr "el archivo es local incluso si tiene dos puntos"
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "utiliza la ORDEN rmt dada en vez de rmt"
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr "utiliza la ORDEN remota en vez de rsh"
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr "especifica la unidad y la densidad"
 
-#: src/tar.c:535
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
 msgstr "crea/lista/extrae un archivo multivolumen"
 
@@ -1861,38 +1882,38 @@ msgstr "crea/lista/extrae un archivo multivolumen"
 # x × - gerardo
 # Efectivamente, pero no es transportable, el que use tar bajo DJGPP
 # le saldría un churro pues el aspa no existe en la tabla 850. sv
-#: src/tar.c:537
+#: src/tar.c:539
 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:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr "ejecuta un script al final de cada cinta (implica -M)"
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr "usa/actualiza el número de volumen en FICHERO"
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr "Bloques en los dispositivos:"
 
-#: src/tar.c:549
+#: src/tar.c:551
 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:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOQUES x 512 bytes por registro"
 
-#: src/tar.c:552
+#: src/tar.c:554
 #, fuzzy
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "TAMAÑO bytes por registro, múltiplo de 512"
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr ""
 "no tiene en cuenta los bloques convertidos en ceros dentro de un archivo "
@@ -1907,7 +1928,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:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "rehace los bloques conforme se lee (para tuberías de 4.2BSD)"
 
@@ -1916,70 +1937,70 @@ msgstr "rehace los bloques conforme se lee (para tuber
 # salida estándar' no pega mucho. Está en otros mensajes, como el
 # siguiente; no lo entiendo. - gerardo
 # FIXME. Tienes razón. Es muy raro.
-#: src/tar.c:561
+#: src/tar.c:563
 msgid "Archive format selection:"
 msgstr "Selección del formato de archivo:"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr "FORMATO"
 
-#: src/tar.c:564
+#: src/tar.c:566
 #, fuzzy
 msgid "create archive of the given format"
 msgstr "crea un archivo en el formato dado."
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr "FORMATO es uno de los siguientes:"
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr "formato tar V7 antiguo"
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr "formato GNU de tar <= 1.12"
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr "formato GNU tar 1.13.x"
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "formato POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "formato POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:577
+#: src/tar.c:579
 #, fuzzy
 msgid "same as pax"
 msgstr "Lo mismo que pax"
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr "lo mismo que --format=v7"
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr "lo mismo que --format=posix"
 
-#: src/tar.c:584
+#: src/tar.c:586
 #, fuzzy
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "palabra[[:]=valor][,palabra[[:]=valor], ...]"
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr "palabras clave de control de pax"
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr "TEXTO"
 
-#: src/tar.c:587
+#: src/tar.c:589
 #, fuzzy
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
@@ -1988,74 +2009,88 @@ msgstr ""
 "crea un archivo con nombre de volumen NOMBRE. En el momento de listar/"
 "extraer, utiliza TEXTO como patrón expandible"
 
-#: src/tar.c:592
+#: src/tar.c:594
 #, fuzzy
 msgid "Compression options:"
 msgstr "Opciones de compresión en conflicto"
 
-#: src/tar.c:594
+#: src/tar.c:596
 #, fuzzy
 msgid "use archive suffix to determine the compression program"
 msgstr "No se puede escribir al programa de compresión"
 
-#: src/tar.c:596
+#: src/tar.c:598
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr "filtra el archivo a través de bzip2"
 
 # FIXME: Decir al autor que ponga el "itself". sv
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr "filtra el arhivo a través de gzip"
 
 # FIXME: Decir al autor que ponga el "itself". sv
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr "filtra el archivo a través de compress"
 
 # FIXME: Decir al autor que ponga el "itself". sv
-#: src/tar.c:605
+#: src/tar.c:610
 #, fuzzy
 msgid "filter the archive through lzma"
 msgstr "filtra el arhivo a través de gzip"
 
-#: src/tar.c:606
+# FIXME: Decir al autor que ponga el "itself". sv
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "filtra el arhivo a través de gzip"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr "PROG"
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr "filtra a través de PROG (debe aceptar -d)"
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr "Selección del fichero local:"
 
-#: src/tar.c:615
+#: src/tar.c:622
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 
-#: src/tar.c:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr "DIR"
 
-#: src/tar.c:617
+#: src/tar.c:624
 msgid "change to directory DIR"
 msgstr "cambia al directorio DIR"
 
-#: src/tar.c:619
+#: src/tar.c:626
 #, fuzzy
 msgid "get names to extract or create from FILE"
 msgstr "obtiene los nombres que se van a extraer o crear del fichero NOMBRE"
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr "-T lee nombres terminados en nulo, desactiva -C"
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr ""
 
@@ -2064,111 +2099,111 @@ msgstr ""
 # de expansión de nombres de ficheros, como * y ?, mientras que
 # el segundo se refiere a expresiones regulares como las de grep,
 # es decir, ^, $, ., *, etc.
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "PATRÓN"
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr "excluye ficheros, dados como un PATRÓN"
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr "excluye los patrones listados en FICHERO"
 
-#: src/tar.c:631
+#: src/tar.c:640
 #, 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:634
+#: src/tar.c:643
 #, fuzzy
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "excluye los directorios que contienen una marca de caché"
 
-#: src/tar.c:637
+#: src/tar.c:646
 #, fuzzy
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "excluye los directorios que contienen una marca de caché"
 
-#: src/tar.c:639
+#: src/tar.c:648
 #, 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:642
+#: src/tar.c:651
 #, fuzzy
 msgid "exclude everything under directories containing FILE"
 msgstr "excluye los directorios que contienen una marca de caché"
 
-#: src/tar.c:644
+#: src/tar.c:653
 #, fuzzy
 msgid "exclude directories containing FILE"
 msgstr "excluye los directorios que contienen una marca de caché"
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr "evita descender automáticamente en los directorios"
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr "permanece en el sistema de ficheros locales al crear el archivo"
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr "opera recursivamente sobre los directorios (por omisión)"
 
-#: src/tar.c:654
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
 msgstr "no elimina la `/' inicial de los nombres de ficheros"
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:658
+#: src/tar.c:667
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr "NOMBRE-DE-MIEMBRO"
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr "comienza por el miembro NOMBRE-DE-MIEMBRO dentro del archivo"
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "almacena solamente ficheros más recientes que FECHA-O-FICHERO"
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr "FECHA"
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr "compara la fecha y hora solamente cuando cambian los datos"
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr "CONTROL"
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr "se hace un respaldo antes de borrar, escoja el CONTROL de versión"
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr "CADENA"
 
-#: src/tar.c:669
+#: src/tar.c:678
 #, fuzzy
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
@@ -2178,97 +2213,97 @@ msgstr ""
 "que se\n"
 "cambie con la variable de entorno SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:676
+#: src/tar.c:685
 #, fuzzy
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "elimina NÚMERO componentes iniciales de los nombres de ficheros"
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/tar.c:687
+#: src/tar.c:697
 #, fuzzy
 msgid "ignore case"
 msgstr "la exclusión no distingue mayúsculas de minúsculas"
 
-#: src/tar.c:689
+#: src/tar.c:699
 #, fuzzy
 msgid "patterns match file name start"
 msgstr ""
 "los patrones de exclusión encajan con el comienzo del nombre del fichero"
 
-#: src/tar.c:691
+#: src/tar.c:701
 #, 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:693
+#: src/tar.c:703
 #, fuzzy
 msgid "case sensitive matching (default)"
 msgstr "la exclusión distingue mayúsculas de minúsculas (por omisión)"
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr ""
 
-#: src/tar.c:699
+#: src/tar.c:709
 #, fuzzy
 msgid "wildcards do not match `/'"
 msgstr "los comodines de patrones de exclusión no encajan con '/'"
 
-#: src/tar.c:701
+#: src/tar.c:711
 #, fuzzy
 msgid "wildcards match `/' (default for exclusion)"
 msgstr ""
 "los comodines de los patrones de exclusión encajan con '/' (por omisión)"
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr "Salida informativa:"
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr "lista los ficheros procesados detalladamente"
 
-#: src/tar.c:711
+#: src/tar.c:721
 #, fuzzy
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "muestra mensajes de progreso cada 10 registros"
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr "muestra un mensaje si no se vuelcan todos los enlaces"
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2276,28 +2311,28 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr "muestra las fechas de modificación de los ficheros en UTC"
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr "envía la salida detallada a FICHERO"
 
-#: src/tar.c:728
+#: src/tar.c:738
 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:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr "pide confirmación para cada acción"
 
-#: src/tar.c:733
+#: src/tar.c:743
 #, fuzzy
 msgid "show tar defaults"
 msgstr "Muestra los valores predeterminados de tar"
 
-#: src/tar.c:735
+#: src/tar.c:745
 #, fuzzy
 msgid ""
 "when listing or extracting, list each directory that does not match search "
@@ -2306,31 +2341,31 @@ msgstr ""
 "Cuando se lista o extrae, lista cada directorio que no coincida con el "
 "criterio de búsqueda"
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr "Opciones de compatibilidad:"
 
-#: src/tar.c:753
+#: src/tar.c:763
 #, fuzzy
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
@@ -2339,58 +2374,58 @@ msgstr ""
 "al crear, lo mismo que --old-archive. Al extraer, lo mismo que --no-same-"
 "owner"
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr "Otras opciones:"
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "No se puede especificar más de una opción `-Acdtrux'"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Opciones de compresión en conflicto"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr " tipo de fichero desconocido %s\n"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 #, fuzzy
 msgid "Date sample file not found"
 msgstr "No se encontró la fecha del fichero"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Sustituyendo %s por el formato de fecha desconocido %s"
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, fuzzy, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr "Se trata la fecha `%s' como %s + %ld nanosegundo"
 
 # FIXME: Decir al autor que ponga el "itself". sv
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, fuzzy, c-format
 msgid "%s: file list already read"
 msgstr "%s: el fichero es el propio archivo; no se vuelca"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr ""
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2398,15 +2433,15 @@ msgstr ""
 "\n"
 "Las opciones predeterminadas de *esta* versión de tar son:\n"
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Factor de bloqueo inválido"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr "Atención: no se admite la opción -I; ¿no será -j o -T?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Longitud de cinta inválida"
 
@@ -2416,98 +2451,104 @@ msgstr "Longitud de cinta inv
 # 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:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Se ha especificado más de una fecha tope"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: Grupo inválido"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Se ha especificado un modo no válido en la opción"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr "Número inválido"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Propietario inválido"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "El tamaño del registro es inválido"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, 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:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr "Número inválido de elementos"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, fuzzy, c-format
 msgid "Malformed density argument: %s"
 msgstr "Argumento de densidad mal formado: '%s'"
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, fuzzy, c-format
 msgid "Unknown density: `%c'"
 msgstr "Densidad desconocida: '%c'"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, 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:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr "[FICHERO]..."
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "La opción antigua `%c' requiere un argumento"
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence no tiene sentido sin una lista de ficheros"
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr "no se puede usar --occurrence en el modo de operación solicitado"
 
 # requieren -> necesitan. gerardo
-#: src/tar.c:2232
+#: src/tar.c:2271
 msgid "Multiple archive files require `-M' option"
 msgstr "Los archivos múltiples requieren la opción `-M'"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "No se puede combinar --listed-incremental con --newer"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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)"
@@ -2516,51 +2557,52 @@ msgstr[0] ""
 msgstr[1] ""
 "%s: La etiqueta de volumen es demasiado larga (el límite es %lu bytes)"
 
-#: src/tar.c:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "No se pueden verificar archivos multivolumen"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "No se pueden verificar archivos comprimidos"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "No se pueden utilizar archivos multivolumen comprimidos"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "No se pueden actualizar archivos comprimidos"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option solamente se puede usar en archivos POSIX"
 
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
 # Me gusta más al verrés: cobarde rechazo [de la pradera] a... gerardo
-#: src/tar.c:2318
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Rechazo cobarde a crear un archivo vacío"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "Las opciones `-Aru' son incompatibles con `-f -'"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Debe especificar una de las opciones `-Acdtrux'"
 
-# Antes decía:
-# "La salida con error se demora por los errores anteriores
-#
-# Quiere decir que hubo errores, pero tar pudo seguir adelante, sin
-# embargo va a salir con un estado de error por esos errores que ya pasaron.
-# Una traducción:
-# "Salida con error demorada desde errores anteriores" (Nicolás L.)
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Salida con error demorada desde errores anteriores"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 # 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...
@@ -2584,83 +2626,83 @@ msgstr[0] "%s: El tama
 msgstr[1] "%s: El tamaño del fichero ha disminuido en %s bytes"
 
 # FIXME: Imlemented
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, fuzzy, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "La palabra clave %s es desconocida o no está implementada todavía"
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "No se puede usar el patrón %s"
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "La palabra clave %s no se puede sustituir"
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 #, fuzzy
 msgid "Malformed extended header: missing length"
 msgstr "Cabecera extendida errónea: falta un signo igual"
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr ""
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, fuzzy, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "La cadena firmada en base 64 %s del archivo está fuera del rango %s"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 #, fuzzy
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 "Cabecera extendida errónea: falta un espacio en blanco después de la longitud"
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr "Cabecera extendida errónea: falta un signo igual"
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 #, fuzzy
 msgid "Malformed extended header: missing newline"
 msgstr "Cabecera extendida errónea: falta un signo igual"
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr ""
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, fuzzy, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "El valor del archivo %s está fuera del rango %s %s.%s"
 
-#: src/xheader.c:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, fuzzy, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Cabecera extendida errónea: falta un signo igual"
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, fuzzy, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Cabecera extendida errónea: falta un signo igual"
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, fuzzy, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Cabecera extendida errónea: falta un signo igual"
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, fuzzy, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Cabecera extendida errónea: falta un signo igual"
@@ -2832,52 +2874,62 @@ msgstr "N
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Error del sistema desconocido"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, fuzzy, c-format
 msgid "cannot open `%s'"
 msgstr "No se puede abrir %s"
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 #, fuzzy
 msgid "cannot seek"
 msgstr "No se puede cerrar"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr " tipo de fichero desconocido %s\n"
@@ -2888,47 +2940,47 @@ msgstr " tipo de fichero desconocido %s\n"
 # ser: "No se puede hacer stat() del fichero %s", o "stat() ha fallado..."
 # Aunque tal como está es más descriptivo para el neófito, desde
 # luego. gag
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "No se puede leer el estado del fichero %s"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr ""
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, fuzzy, c-format
 msgid "Command failed with status %d\n"
 msgstr "El proceso hijo terminó con la señal %d"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr ""
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, fuzzy, c-format
 msgid "--stat requires file names"
 msgstr "--Nombres de fichero modificados--\n"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr ""
@@ -3088,6 +3140,16 @@ msgstr ""
 #~ msgid "Error in writing to standard output"
 #~ msgstr "Error al escribir en la salida estándar"
 
+# Antes decía:
+# "La salida con error se demora por los errores anteriores
+#
+# Quiere decir que hubo errores, pero tar pudo seguir adelante, sin
+# embargo va a salir con un estado de error por esos errores que ya pasaron.
+# Una traducción:
+# "Salida con error demorada desde errores anteriores" (Nicolás L.)
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Salida con error demorada desde errores anteriores"
+
 # Sugerencia: para archivos -> para los archivos. sv
 # Sugerencia: Estandarizar la traducción de "added files". sv
 # En el  --mode=CHANGES  no sé qué poner... sv
@@ -3742,12 +3804,6 @@ msgstr ""
 #~ "Copyright 1988, 92,93,94,95,96,97,98, 1999 Free Software Foundation, "
 #~ "Inc.\n"
 
-# 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
-#~ msgid "Archive %s EOF not on block boundary"
-#~ msgstr "El fin del archivo %s no está en un límite de bloque"
-
 # ¿por qué convertir las oraciones unimembres en bimembres? Ya vi
 # otro caso en donde se hace y no veo por qué. Bien podría quedar como:
 # "Nombre de fichero %s%s demasiado largo". nl
index 9b45a27e8acd43f42b4d8526f012307500809895..e144ec22e769a037381e89afeeab2a782900ba27 100644 (file)
Binary files a/po/et.gmo and b/po/et.gmo differ
index 747f07cca17bfb79f976c1568f21fa3cc23f75b9..70878e47f17ce19429451da6999606458d869fe9 100644 (file)
--- a/po/et.po
+++ b/po/et.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GNU tar 1.15.92\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
 "PO-Revision-Date: 2006-10-26 14:45+0300\n"
 "Last-Translator: Toomas Soome <Toomas.Soome@microlink.ee>\n"
 "Language-Team: Estonian <et@li.org>\n"
@@ -80,7 +80,7 @@ msgstr " [V
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr "`%s --help' või `%s --usage' annab rohkem infot.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Teated vigadest saatke palun aadressil %s.\n"
@@ -89,15 +89,15 @@ msgstr "Teated vigadest saatke palun aadressil %s.\n"
 msgid "Unknown system error"
 msgstr "Tundmatu süsteemi viga"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr "näita seda abiinfot"
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr "näita lühikest kasutamise õpetust"
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr "NIMI"
@@ -110,11 +110,11 @@ msgstr "sea programmi nimi"
 msgid "SECS"
 msgstr "SEK"
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr "oota SEK sekundeid (vaikimisi 3600)"
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr "esita programmi versioon"
 
@@ -132,7 +132,7 @@ msgstr "%s: Liiga palju argumente\n"
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(PROGRAMMI VIGA) Võti peaks olema ära tuntud!?"
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr ""
 
@@ -191,16 +191,16 @@ msgstr "%s: v
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: võti `-W %s' ei luba argumenti\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "mälu on otsas"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Ei õnnestu vahetada töökataloogi"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Töökataloogi ei õnnestu salvestada"
@@ -319,11 +319,23 @@ msgstr "`"
 msgid "'"
 msgstr "'"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr "^[jJ]"
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr "^[eE]"
 
@@ -524,104 +536,104 @@ msgstr "Ootamatu faili l
 msgid "Garbage command"
 msgstr "Rämpskäsk"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Hmm.... see ei tundu olema tar arhiiv"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 msgid "Total bytes written"
 msgstr "Baite kirjutatud kokku"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr "Baite loetud kokku"
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Baite kirjutatud kokku: %s\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(toru)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "Kirje suuruse väärtus on vigane"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Arhiivi nime pole"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Ei saa kontrollida sisend/väljund arhiive"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Arhiiv on tihendatud. Kasutage võtit %s"
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Ei saa uuendada pakitud arhiive"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "Lindi alguses, lõpetan töö"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Liig palju vigu, jätan töö pooleli"
 
-#: src/buffer.c:678
-#, 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:698
+#: src/buffer.c:695
 #, 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:771
+#: src/buffer.c:716
+#, 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:793
 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:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek ei peatunud kirje piiril"
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: sisaldab vigast volüümi numbrit"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Volüümi number on liiga suur"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, 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:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "EOF kasutaja vastuse asemel"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "HOIATUS: Arhiiv pole täielik"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -632,64 +644,65 @@ msgstr ""
 " q             Katkesta tar\n"
 " y või reavahetus Jätka\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Loo alamshell\n"
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Väljasta see info\n"
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Pole uus volüüm; lõpetan töö.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr "Puudub faili nimi. Proovige uuesti.\n"
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Vigane sisend. ? annab abiinfot.\n"
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, c-format
 msgid "%s command failed"
 msgstr "%s käsklus sai vea"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, 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:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s ei jätku sellel volüümil"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s on vale suurusega (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "See volüüm on väljaspoolt järjekorda"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arhiivi märgend ei sobi `%s'"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Volüüm `%s' ei sobi volüümiga `%s'"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -697,6 +710,11 @@ msgstr ""
 "%s: faili nimi on GNU mitmevolüümi päisesse salvestamiseks liiga pikk, "
 "lühendan"
 
+#: src/buffer.c:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "rmtlseek ei peatunud kirje piiril"
+
 #: src/compare.c:96
 #, c-format
 msgid "Could only read %lu of %lu byte"
@@ -708,8 +726,8 @@ msgstr[1] "Sain lugeda ainult %lu baiti (sooviti %lu)"
 msgid "Contents differ"
 msgstr "Sisu on erinev"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Ootamatu arhiivi lõpp"
 
@@ -826,7 +844,7 @@ msgstr[1] "%s: Fail l
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: fail on teises failisüsteemis; ei salvesta"
 
-#: src/create.c:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr ""
 
@@ -855,7 +873,7 @@ msgstr "%s on arhiiv; ei salvesta"
 msgid "%s: File removed before we read it"
 msgstr "%s: Fail kustutati enne lugemist"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 #, fuzzy
 msgid "directory not dumped"
 msgstr "%s: sisaldab vahemälu kataloogi lipikut; ei salvesta"
@@ -907,165 +925,165 @@ msgstr "%s: Kataloog nimetati 
 msgid "Extracting contiguous files as regular files"
 msgstr "Taastan jätkuvad failid kui tavalised"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Üritan taastada nimeviiteid viidetena"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Loen %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, 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:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 msgid "Unexpected long name header"
 msgstr "Ootamatu pika nime päis"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
 msgstr "%s: Tundmatu failitüüp `%c', taastan tavalise failina"
 
-#: src/extract.c:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Olemasolev %s on uuem või sama kuupäevaga"
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Selle faili varundamine ebaõnnestus"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s ei õnnestu ümber nimetada %s-ks"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "Ületamatu tõrge: lõpetan töö"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Kataloog %s on ümber nimetatud"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Kataloog on ümber nimetatud"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Kataloog on uus"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Vigane ajatempel"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 msgid "Invalid modification time (seconds)"
 msgstr "Vigane muutmise aeg (sekundid)"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr "Vigane muutmise aeg (nanosekundid)"
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Vigane seadmenumber"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Vigane i-kirje number"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr "Snapshoti faili lugemisel leiti liiga pikk väli"
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr "Snapshoti failist lugemise viga"
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 msgid "Unexpected EOF in snapshot file"
 msgstr "Ootamatu snapshoti faili lõpp"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr "Snapshoti failis on väljal ootamatu väärtus"
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr "Puudub kirje lõpetaja"
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr "Inkrementaalse faili vorming on vigane"
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Mittetoetatud inkrementaalse vormingu versioon: %<PRIuMAX>"
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "Vigane taastamise kataloog: eeldasin '%c', sain %#3o"
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Vigane taastamise kataloog: dubleeritud 'X'"
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Vigane taastamise kataloog: tühi nimi 'R' väljal"
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr "Vigane taastamise kataloog: 'R' ei ole 'T' ees"
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Vigane taastamise kataloog: tühi nimi 'T' väljal"
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, 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:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Vigane taastamise kataloog: 'X' ei kasutata"
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Vormiga %s ei saa ajutist kataloogi luua"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Ei puhasta kataloogi: stat ebaõnnestus"
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: kataloog on teisel seadmel; ei puhasta"
 
-#: src/incremen.c:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Kustutan %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Ei saa eemaldada"
@@ -1085,87 +1103,87 @@ msgstr "blokk %s: ** NULlide blokk **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "blokk %s: ** Faili lõpp **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "blokk %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, 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:728
+#: src/list.c:737
 #, 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:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arhiiv sisaldab aegunuid base-64 päiseid"
 
-#: src/list.c:763
+#: src/list.c:772
 #, 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:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, 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:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " viide %s-le\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " tundmatu failitüüp %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Pikk viide--\n"
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Pikk nimi--\n"
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Volüümi päis--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Jätkub baidilt %s--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Loon kataloogi:"
 
@@ -1202,24 +1220,24 @@ msgstr "protsessidevaheline kanal"
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr "Failide nimedes on jokkersümbolid. Nende kasutamiseks"
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr "kasutage --wildcars, selle teate saab blokeerida võtmega"
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr "--no-wildcards."
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Puudub arhiivis"
 
-#: src/names.c:621
+#: src/names.c:615
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Nõutud eksemplar puudub arhiivis"
@@ -1245,7 +1263,7 @@ msgid ""
 msgstr ""
 "Tundmatu kvootimise stiil `%s'. Loendi saate käsuga `%s --quoting-style=help'"
 
-#: src/tar.c:334
+#: src/tar.c:336
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1263,7 +1281,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:343
+#: src/tar.c:345
 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 "
@@ -1283,86 +1301,86 @@ msgstr ""
 "  nil, existing   nummerdatud kui koopiad on nummerdatud, muidu lihtne\n"
 "  never, simple   tee ainult lihtne koopia\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr "Põhiline töö:"
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr "näita arhiivi sisukorda"
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr "taasta failid arhiivist"
 
-#: src/tar.c:377
+#: src/tar.c:379
 msgid "create a new archive"
 msgstr "loo uus arhiiv"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr "otsi arhiivi ja failisüsteemi erinevusi"
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr "lisa failid arhiivi lõppu"
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr "lisa arhiivi ainult failid uuemad kui arhiivis"
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr "lisa tar failid arhiivi"
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "kustuta arhiivist (mitte magnetlindilt!)"
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr "testi arhiivi volüümi märgendit ja lõpeta töö"
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr "Töö täpsustamine:"
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr "tööta aukudega failidega efektiivsemalt"
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr "PÕHI[.ALAM]"
 
-#: src/tar.c:401
+#: src/tar.c:403
 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:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr "käsitle vana GNU vormingus inkrementaalset koopiat"
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr "FAIL"
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr "käsitle uue GNU vormingu inkrementaalset koopiat"
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr "ära lõpeta loetamatute failide korral veakoodiga"
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr "N"
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1375,116 +1393,116 @@ msgstr ""
 "antud\n"
 "käsureal või võtmega -T. Vaikimisi N on 1."
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr "arhiiv on positsioneeritav"
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr "Ülekirjutamise juhtimine:"
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr "kontrolli arhiivi peale arhiivi kirjutamist"
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr "kustuta failid peale arhiveerimist"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr "olemasolevaid faile taastamisel üle ei kirjuta"
 
-#: src/tar.c:435
+#: src/tar.c:437
 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:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr "kirjuta olemasolevad failid üle"
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr "kustuta fail enne taastamist"
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr "kustuta hierarhia enne kataloogi taastamist"
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr "säilita olemasolevate kataloogide metainfo"
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr "taastamisel kirjuta olemasolevate kataloogide metainfo üle (vaikimisi)"
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr "Vali väljundvoog:"
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
 msgstr "taasta failid standardväljundisse"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr "KÄSK"
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr "taasta failid läbi toru teise programmi"
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr "ignoreeri alamprotsesside lõpetamise koode"
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr "käsitle alamprotsesside nullist erinevaid lõpetamise koode veana"
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr "Faili atribuutide käsitlemine:"
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr "kasuta NIMEe kui lisatud failide omanikku"
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr "kasuta NIMEe kui lisatud failide gruppi"
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr "KUUP-VÕI-FAIL"
 
-#: src/tar.c:472
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "sea lisatud failide muutmise ajaks KUUP-VÕI-FAIL"
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr "MUUTUSED"
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "kasuta lisatud failidel sümbol moodi MUUTUSED"
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr "MEETOD"
 
-#: src/tar.c:477
+#: src/tar.c:479
 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 "
@@ -1494,27 +1512,27 @@ msgstr ""
 "lugemist (METHOD='replace'; vaikimisi) või ei muuda kasutamise aega üldse "
 "(METHOD='system')"
 
-#: src/tar.c:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr "ära taasta faili muutmise aega"
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr "säilita taastamisel failide omanikud"
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr "taasta failid enda õigustes"
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr "kasuta kasutaja/grupp numbreid"
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr "taasta ka info failide õigustest (vaikimisi superkasutaja korral)"
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1522,154 +1540,154 @@ msgstr ""
 "õiguste taastamisel kasuta kasutaja umask väärtust (vaikimisi "
 "tavakasutajatel)"
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr "taasta failid arhiveerimis järjekorras"
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr "sama, kui -p ja -s"
 
-#: src/tar.c:500
+#: src/tar.c:502
 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:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "katkesta --delay-directory-restore võtme mõju"
 
-#: src/tar.c:508
+#: src/tar.c:510
 #, fuzzy
 msgid "Device selection and switching:"
 msgstr "Seadme valik ja vahetamine:\n"
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr "ARHIIV"
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr "kasuta arhiivi faili või seadet ARHIIV"
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
 msgstr "arhiivi fail on lokaalne isegi kui sisaldab koolonit"
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "kasuta rmt asemel antud käsku"
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr "kasuta rsh asemel antud käsku"
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr "määra seade ja tihedus"
 
-#: src/tar.c:535
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
 msgstr "loo/näita/taasta mitme volüümilisi arhiive"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "vaheta peale NUMBER x 1024 baidi kirjutamist linti"
 
-#: src/tar.c:539
+#: src/tar.c:541
 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:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr "kasuta/uuenda volüümi numbrit failis FAIL"
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr "Seadme blokkimine:"
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr "BLOKKE"
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOKKE x 512 baiti kirjele"
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "NUMBER baiti kirjele, 512 kordne"
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "ignoreeri null blokke arhiivis (tähistab EOF)"
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "bloki lugemisel uuesti (4.2BSD torude jaoks)"
 
-#: src/tar.c:561
+#: src/tar.c:563
 msgid "Archive format selection:"
 msgstr "Arhiivi vormingu valikud:"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr "VORMING"
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr "loo arhiiv antud vormingus"
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr "VORMING on üks järgnevaist:"
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr "vana V7 tar vorming"
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr "GNU vorming tar <= 1.12 korral"
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr "GNU tar 1.13.x vorming"
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "POSIX 1003.1-1988 (ustar) vorming"
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "POSIX 1003.1-2001 (pax) vorming"
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr "sama, kui pax"
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr "sama, kui --format=v7"
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr "sama, kui --format=posix"
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "võtmesõna[[:]=väärtus][,võtmesõna[[:]=väärtus]...]"
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr "pax võtmesõnade kasutamine"
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr "TEKST"
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1677,178 +1695,191 @@ msgstr ""
 "loo arhiivi volüümi nimega NIMI. Listingu/taastamise ajal kasuta TEKSTi "
 "otsingumustrina"
 
-#: src/tar.c:592
+#: src/tar.c:594
 #, fuzzy
 msgid "Compression options:"
 msgstr "Konfliktsed pakkimisvõtmed"
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:596
+#: src/tar.c:598
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr "filtreeri arhiiv läbi bzip2"
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr "filtreeri arhiiv läbi gzipi"
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr "filtreeri arhiiv läbi compressi"
 
-#: src/tar.c:605
+#: src/tar.c:610
 #, fuzzy
 msgid "filter the archive through lzma"
 msgstr "filtreeri arhiiv läbi gzipi"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "filtreeri arhiiv läbi gzipi"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr "PROG"
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr "filtreeri läbi programmi (peab lubama võtit -d)"
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr "Lokaalse faili valik:"
 
-#: src/tar.c:615
+#: src/tar.c:622
 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:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr "KAT"
 
-#: src/tar.c:617
+#: src/tar.c:624
 msgid "change to directory DIR"
 msgstr "mine kataloogi KAT"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr "loe taastatavate või varundatavate failide nimed failist NIMI"
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr "-T loeb nullidega lõpetatud nimesid, blokeeri -C"
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr "eemalda -T võtmega loetud failinimedest kvootimissümbolid (vaikimisi)"
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr "ära eemalda -T võtmega loetud failinimedest kvootimissümboleid"
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "MUSTER"
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr "MUSTRI järgi välistatud failid"
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr "välistavad mustrid on FAILIS"
 
-#: src/tar.c:631
+#: src/tar.c:640
 #, fuzzy
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr "välista kataloogid, mis on märgitud vahemälu jaoks"
 
-#: src/tar.c:634
+#: src/tar.c:643
 #, fuzzy
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "välista kataloogid, mis on märgitud vahemälu jaoks"
 
-#: src/tar.c:637
+#: src/tar.c:646
 #, fuzzy
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "välista kataloogid, mis on märgitud vahemälu jaoks"
 
-#: src/tar.c:639
+#: src/tar.c:648
 #, fuzzy
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr "välista kataloogid, mis on märgitud vahemälu jaoks"
 
-#: src/tar.c:642
+#: src/tar.c:651
 #, fuzzy
 msgid "exclude everything under directories containing FILE"
 msgstr "välista kataloogid, mis on märgitud vahemälu jaoks"
 
-#: src/tar.c:644
+#: src/tar.c:653
 #, fuzzy
 msgid "exclude directories containing FILE"
 msgstr "välista kataloogid, mis on märgitud vahemälu jaoks"
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr "ära sisene kataloogidesse"
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr "püsi arhiivi loomise ajal kohalikus failisüsteemis"
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr "sisene kataloogidesse (vaikimisi)"
 
-#: src/tar.c:654
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
 msgstr "ära eemalda faili nimedelt prefiksit `/'"
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "järgi nimeviiteid; arhiveeri ja taasta viidatavad failid"
 
-#: src/tar.c:658
+#: src/tar.c:667
 #, fuzzy
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "järgi nimeviiteid; arhiveeri ja taasta viidatavad failid"
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr "KOMPONENT"
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr "alusta arhiivi liikmest KOMPONENT"
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "salvesta ainult failid mis on uuemad kui KUUP-VÕI-FAIL"
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr "KUUPÄEV"
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr "võrdle kuupäevi ainult kui andmed on muutunud"
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr "KONTROLL"
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr "loo enne eemaldamist varukoopia, vali versioonikontroll"
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr "SÕNE"
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -1856,87 +1887,87 @@ msgstr ""
 "varunda enne kustutamist, kasuta uut lõppu (vaikimisi '~', kui pole üle "
 "määratud keskkonnamuutujaga SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr "Failide nimede muutmine:"
 
-#: src/tar.c:676
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "eemalda taastamisel failide nimede algusest NUMBER komponenti"
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr "AVALDIS"
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "kasuta failide nimede muutmiseks sed asendus avaldist"
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr "Failinimede otsimine (mõjutab nii kaasamist, kui välistamist):"
 
-#: src/tar.c:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr "tõstutundetu"
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr "mustrid alustavad faili nime algusest"
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr "mustrid toimivad iga / järel (välistamise korral vaikimisi)"
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr "tõstutundlik otsimine (vaikimisi)"
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr "kasuta jokkersümboleid (välistamise korral vaikimisi)"
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr "täht-täheline sõne otsimine"
 
-#: src/tar.c:699
+#: src/tar.c:709
 msgid "wildcards do not match `/'"
 msgstr "jokkerid ei leia '/'"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr "jokkersümbolid leiavad '/' (välistamise korral vaikimisi)"
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr "Informatsioon:"
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr "väljasta töödeldavate failide kohta infot"
 
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "anna töö kohta infot iga NUMBER kirje järel (vaikimisi 10)"
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr "väljasta teade, kui kõike viiteid pole salvestatud"
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr "SIGNAAL"
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1947,27 +1978,27 @@ 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:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr "väljasta failide muutmise ajad UTC esituses"
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr "salvesta täiendav info FAILi"
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr "näita iga teatega ka arhiivi bloki numbrit"
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr "küsi iga tegevuse kohta kinnitust"
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr "näita tar vaikeseadeid"
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -1975,86 +2006,86 @@ msgstr ""
 "listingu või taastamise ajal, näita igat kataloogi mis ei vasta "
 "otsingutingimustele"
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr "peale teisendamist näita faili või arhiivi nime"
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr "STIIL"
 
-#: src/tar.c:741
+#: src/tar.c:751
 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:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr "lisaks kvoodi sõnes näidatud sümbolid"
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr "keela sõnes toodud sümbolite kvootimine"
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr "Ühilduvuse võtmed:"
 
-#: src/tar.c:753
+#: src/tar.c:763
 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:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr "Muud võtmed:"
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr "blokeeri potentsiaalselt ohtlikud võtmed"
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Korraga ainult üks võtmetest `-Acdtrux'"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Konfliktsed pakkimisvõtmed"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Tundmatu signaali nimi: %s"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 msgid "Date sample file not found"
 msgstr "Kuupäeva fail puudub"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Kasutan %s tundmatu ajaformaadi %s asemel"
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr "Võti %s: Käsitlen aega `%s' kui %s"
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, c-format
 msgid "%s: file list already read"
 msgstr "%s: failide nimekiri on juba loetud"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: loetud faili nimi sisaldab sümbolit nul"
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr "Võtmega --quoting-style on lubatud järgnevad argumendid:"
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2062,151 +2093,165 @@ msgstr ""
 "\n"
 "*See* tar kasutab vaikimisi:\n"
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Vigane blokkimisfaktor"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr "Hoiatus: võtit -I ei toetata; võibolla te pidasite silmas -j või -T?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Vigane lindi pikkus"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Rohkem kui üks etteantud aeg"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr "Vigane aukudega faili versiooni väärtus"
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' ei ole sellel platvormil toetatud"
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint väärtus ei ole täisarv"
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: Vigane grupp"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Võtmega anti vigane mood"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr "Vigane number"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Vigane omanik"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Vigane kirje suurus"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Kirje suurus peab olema %d kordne."
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr "Vigane elementide arv"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr "Lubatud on ainult üks --to-command võti"
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Vigane tiheduse argument: %s"
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
 msgstr "Tundmatu tihedus: `%c'"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, 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:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr "[FAIL]..."
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "Vana võti `%c' nõuab argumenti."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence ei oma failide nimekirjata mõtet"
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr "--occurrence ei saa valitud tööre¸iimil kasutada"
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 msgid "Multiple archive files require `-M' option"
 msgstr "Mitme arhiivifaili kasutamine nõuab võtit `-M'"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "--listed-incremental ja --newer ei saa koos kasutada"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Ei suuda kontrollida mitme volüümilisi arhiive"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Ei saa kontrollida pakitud arhiive"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Ei saa kasutada mitme volüümilisi pakitud arhiive"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 msgid "Cannot concatenate compressed archives"
 msgstr "Tihendatud arhiive ei saa ühendada"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option saab kasutada ainult POSIX arhiividega"
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Ega ikka ei tee küll tühja arhiivi"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "Võtmeid `-Aru' ei saa kasutada võtmega `-f -'"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Peab kasutama vähemalt üht võtmetest `-Acdtrux'"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Eelnevad vead ei lõpetanud veel programmi tööd, lõpetan veaga"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, c-format
@@ -2215,79 +2260,79 @@ msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Fail on %s baiti lühem"
 msgstr[1] "%s: Fail on %s baiti lühem"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Võtmesõna %s on tundmatu või pole veel realiseeritud"
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Mustrit %s ei saa kasutada"
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Võtmesõna %s ei saa ümber määrata"
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr "Vigane laiendatud päis: puudub pikkus"
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr "Laiendatud päise pikkus on piiridest väljas"
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Laiendatud päise pikkus %*s on piiridest väljas"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr "Vigane laiendatud päis: pikkuse järel puudub tühik"
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr "Vigane laiendatud päis: puudub võrdusmärk"
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr "Vigane laiendatud päis: puudub reavahetus"
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr "Ignoreerin tundmatud laiendatud päise võtmesõna `%s'"
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, 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:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Vigane laiendatud päis: %s=%s"
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Vigane laiendatud päis: liigne %s=%s"
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Vigane laiendatud päis: vigane %s: ootamatu eraldaja %c"
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Vigane laiendatud päis: vigane %s: veider arv väärtuseid"
@@ -2455,101 +2500,115 @@ msgstr "Number on piiridest v
 msgid "Negative size: %s"
 msgstr "Negatiivne suurus: %s"
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) ebaõnnestus"
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Viga `%s' juures numbri parsimisel"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, c-format
 msgid "Unknown date format"
 msgstr "Tundmatu kuupäeva vorming"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr "[ARGUMENDID...]"
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
 msgstr "`%s' ei saa avada"
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 #, fuzzy
 msgid "cannot seek"
 msgstr "%s: Ei õnnestu liikuda positsioonile %s"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr "faili nimi sisaldab null sümbolit"
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, 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:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "vigane mask (`%s' lähedal)"
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Tundmatu väli `%s'"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "ei õnnestu seada `%s' aega"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Käsk lõpetas töö edukalt\n"
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Käsk lõpetas veakoodiga %d\n"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Käsk katkestati signaaliga %d\n"
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Käsk peatati signaaliga %d\n"
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Käsk salvestas mälupildi\n"
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr "Käsk katkestas\n"
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat nõuab failinimesid"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr "liiga palju argumente"
 
+#, fuzzy
+#~ msgid "cancel effect of the previous --transform-links option"
+#~ msgstr "katkesta --delay-directory-restore võtme mõju"
+
 #~ msgid "block size"
 #~ msgstr "bloki suurus"
 
@@ -2578,3 +2637,6 @@ msgstr "liiga palju argumente"
 
 #~ msgid "[.]NUMBER"
 #~ msgstr "[.]NUMBER"
+
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Eelnevad vead ei lõpetanud veel programmi tööd, lõpetan veaga"
index 5a562739bf9ddd66d58877902a5f4dba994640d4..7dc93c184e2bfd46c60cb0b0919a1e9279f8a26a 100644 (file)
Binary files a/po/eu.gmo and b/po/eu.gmo differ
index 1343625ed4f5ca782cccfb13fcfbeb6a8b4c0738..c29f56a45b63f6f47319a8cf2c16c367724ad334 100644 (file)
--- a/po/eu.po
+++ b/po/eu.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tar-1.15.91-eu\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\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"
@@ -83,7 +83,7 @@ msgstr " [AUKERA...]"
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr "`%s --help' edo `%s --usage' saiatu argibide gehiagorako.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Arazoen berri %s-en eman.\n"
@@ -92,15 +92,15 @@ msgstr "Arazoen berri %s-en eman.\n"
 msgid "Unknown system error"
 msgstr "Sistema errore ezezaguna"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr "laguntza zerrenda hau eman"
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr "erabilera mezu labur bat eman"
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr "IZENA"
@@ -113,11 +113,11 @@ msgstr "programa izen ezarri"
 msgid "SECS"
 msgstr "SEG"
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr "SEG segundu gelditu (lehenetsia 3600)"
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr "programa bertsioa bistarazi"
 
@@ -135,7 +135,7 @@ msgstr "%s: Argumentu gehiegi\n"
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(PROGRAMA ERROREA) Aukera ezaguna izan beharko zen!?"
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr ""
 
@@ -194,16 +194,16 @@ msgstr "%s: `-W %s' aukera anbiguoa da\n"
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: `-W %s' aukerak ez du argumenturik onartzen\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "memoria askieza"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Ezin da lan direktorioa aldatu"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Ezin da lan direktorioa gorde"
@@ -322,11 +322,23 @@ msgstr "`"
 msgid "'"
 msgstr "'"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr "^[bB]"
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr "^[eE]"
 
@@ -527,102 +539,102 @@ msgstr "Fitxategi amaiera azkarregia"
 msgid "Garbage command"
 msgstr "Zabor komandoa"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Honek ez dirudi tar pakete bat"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 msgid "Total bytes written"
 msgstr "Idatziriko byte-ak guztira"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr "Irakurritako byte-ak guztira"
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Ezabaturiko byte-ak guztira: %s\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(tutua)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "balio baliogabea record_size-rentzat"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Ez da fitxategi izenik eman"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Ezin da sarrera/irteera estandar fitxategia egiaztatu"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Fitxategia konprimiturik dago. %s aukera erabili"
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Ezin dira konprimituriko fitxategiak eguneratu"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "Zintaren hasieran, uzten"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Errore gehiegi, uzten"
 
-#: src/buffer.c:678
-#, 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:698
+#: src/buffer.c:695
 #, 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:771
+#: src/buffer.c:716
+#, 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:793
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 
-#: src/buffer.c:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: bolumen zenbaki baliogabea du"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Bolumen zenbaki gainezkatzea"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "#%d bolumena %s -rako prestatu eta enter sakatu: "
 
-#: src/buffer.c:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "Fitxategi amaiera erabiltzaile erantzuna espero zenean"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "Oharra: Paketea ez dago osaturik"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -633,70 +645,75 @@ msgstr ""
 " q             tar utzi\n"
 " y edo intro  Ekintza jarraitu\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Azpishell bat sortu\n"
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Zerrenda hau inprimatu\n"
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Ez dago bolumen berririk; uzten.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr "Ez da fitxategi izenik ezarri. Berriz saiatu.\n"
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "SArrera baliogabea. ? idatzi laguntzarako.\n"
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, c-format
 msgid "%s command failed"
 msgstr "%s komandoak huts egin du"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, 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:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s ez da bolumen honen jarraipena"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s okerreko tamaina da (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Bolumen hau sekuentziatik kanpo dago"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr ""
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "%s bolumena ez da %s-ren pareko"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, 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:1619
+msgid "write did not end on a block boundary"
+msgstr ""
+
 #: src/compare.c:96
 #, c-format
 msgid "Could only read %lu of %lu byte"
@@ -708,8 +725,8 @@ msgstr[1] "%lu byte bakarrik irakurri daiteke %lu byte-tatik"
 msgid "Contents differ"
 msgstr "Eduki ezberdintasunak"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Esperogabeko Fitxategi amaiaera paketean"
 
@@ -826,7 +843,7 @@ msgstr[1] ""
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: fitxategia fitxategi sistema ezberdin batetan dago, ez da irauliko"
 
-#: src/create.c:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr ""
 
@@ -855,7 +872,7 @@ msgstr "%s: fitxategia paketea da, ez da irauliko"
 msgid "%s: File removed before we read it"
 msgstr "%s: Fitxategia irakurri baino lehen ezabaturik"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 #, fuzzy
 msgid "directory not dumped"
 msgstr "%s: katxe direktorioa marka bat du; ez da irauliko"
@@ -907,171 +924,171 @@ msgstr "%s: Direktorioa bere egoera atera aurretik berrizendatua izan da"
 msgid "Extracting contiguous files as regular files"
 msgstr "Alboko fitxategiak fitxategi erregularrak bezala ateratzen"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Lotura sinbolikoak lotura gogor bezala ateratzen saiatzen"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "%s irakurtzen\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, 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:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 msgid "Unexpected long name header"
 msgstr "Buru izen luzera esperogabea"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, 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:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Unekoa %s berriagoa edo data berdinekoa da"
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Ez da gai fitxategi honen babeskopia egiteko"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Ezin da %s %s-ra berrizendatu"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "Errorea berreskura ezina da: irteten"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Direktorioa %s-tik berrizendatua izan da"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Direktorioa berrizendatua izan da"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Direktorioa berria da"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "denbora marka baliogabea"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 msgid "Invalid modification time (seconds)"
 msgstr "Eraldaketa denbora (segundu) baliogabea"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr "Eraldaketa denbora (nanosegundu) baliogabea"
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "gailu zenbaki baliogabea"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Inodo zenbaki baliogabea"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr "Eremu luzeegia snapshot fitxategia irakurtzerakoan"
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 #, fuzzy
 msgid "Read error in snapshot file"
 msgstr "Eremu balio esperogabea snapshot fitxategian"
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "Eremu balio esperogabea snapshot fitxategian"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr "Eremu balio esperogabea snapshot fitxategian"
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr "Gordetze amaiera falta da"
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr "Fitxategi inkremental formatu okerra"
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, fuzzy, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Onartugabeko inkremental formatu bertsioa: %d"
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, 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:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Gaizki eratutako iraulketa direktorioa: 'X' bikoizturik"
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Gaizki eratutako iraulketa direktorioa: izen hutsa 'R'-en"
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr "Gaizki eratutako iraulketa direktorioa: 'T' ez doa 'R' atzean"
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Gaizki eratutako iraulketa direktorioa: izen hutsa 'T'-en"
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, 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:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Gaizki eratutako iraulketa direktorioa: 'X' ez da inoiz erabili"
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Ezin da aldiroko direktorioa sortu %s txantiloia erabiliaz"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Ez da direktorioa garbituko: ezin da egoera eskuratu"
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, 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:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: %s ezabatzen\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Ezin da ezabatu"
@@ -1091,19 +1108,19 @@ msgstr ""
 msgid "block %s: ** End of File **\n"
 msgstr "%s blokea: ** Fitxategi Amaiera **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "%s blokea: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1111,68 +1128,68 @@ msgstr ""
 "direla pentsatuko da"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:728
+#: src/list.c:737
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Paketearen zortzitar %.*s balioa %s eremutik kanpo dago"
 
-#: src/list.c:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Paketeak zaharkituriko base-64 buruak ditu"
 
-#: src/list.c:763
+#: src/list.c:772
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr ""
 
-#: src/list.c:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, 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:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " %s-ra lotu\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " %s fitxategi mota ezezaguna\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Lotura Luzea--\n"
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Izen Luzea--\n"
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Bolumen Burua--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--%s byte-an jarraitzen du--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Direktorioa sortzen:"
 
@@ -1209,24 +1226,24 @@ msgstr "prozesu arteko kanala"
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr ""
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr "ohar hau kendu."
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Ez da paketean aurkitu"
 
-#: src/names.c:621
+#: src/names.c:615
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr ""
@@ -1253,7 +1270,7 @@ msgstr ""
 "`%s' markatze estilo ezezaguna. Saiatu `%s --quoting-style=help' zerrenda "
 "eskuratzeko."
 
-#: src/tar.c:334
+#: src/tar.c:336
 #, fuzzy
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
@@ -1284,7 +1301,7 @@ msgstr ""
 "erabili\n"
 "  never, simple   beti babeskopia sinpleak egin\n"
 
-#: src/tar.c:343
+#: src/tar.c:345
 #, fuzzy
 msgid ""
 "The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
@@ -1316,87 +1333,87 @@ msgstr ""
 "erabili\n"
 "  never, simple   beti babeskopia sinpleak egin\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr "Ekintza nagusi modua:"
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr "pakete baten edukiak zerrendatu"
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr "pakete batetako fitxategiak atera"
 
-#: src/tar.c:377
+#: src/tar.c:379
 msgid "create a new archive"
 msgstr "pakete berri bat sortu"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr "paketea eta fitxategi sistema arteko ezberdintasunak bilatu"
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr "fitxategiak paketearen amaieran gehitu"
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr ""
 "paketean dauden kopiak baino berriagoak diren fitxategiak bakarrik gehitu"
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr "gehitu tar fitxategiak pakete batetara"
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "paketetik ezabatu (ez mag zintetan!)"
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr "pakete bolumen etiketa egiaztatu eta irten"
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr "Ekintza aldagaiak:"
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr "sakabanatutako fitxategiak egoki kudeatu"
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr "GNU basbeskopia inkremenetal formatu zaharra kudeatu"
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr "FITXATEGIA"
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr "GNU basbeskopia inkremenetal formatu berria kudeatu"
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr ""
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr "ZENBAKIA"
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1404,148 +1421,148 @@ msgid ""
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr "paketeak `seek' onartzen du"
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 #, fuzzy
 msgid "Overwrite control:"
 msgstr "Gainidazketa kontrola:\n"
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr "fitxategia egiaztatzen saiatu idatzi aurretik"
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr "ezabatu fitxategiak paketera gehitu aurretik"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr "ez ordezkatu dauden fitxategiak ateratzerakoan"
 
-#: src/tar.c:435
+#: src/tar.c:437
 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:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr "gainidatzi dauden fitxategiak ateratzerakoan"
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr ""
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr ""
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr "dauden direktorioen metadata mantendu"
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr "dauden direktorioen metadata gainidatzi ateratzerakoan (lehenetsia)"
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr "Irteera korrontea hautatu:"
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
 msgstr "fitxategiak irteera estandarrera atera"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr "KOMANDOA"
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr "bideratu ateratako fitxategiak beste programa batetara"
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr "alde batetara utzi semeen irteera kodeak"
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr "zero ez diren semeen irteera kodeekin errore bat bezala jokatu"
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr "Fitxategi atributu kudeaketa:"
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr "indartu IZENA jabe bezala gehituriko fitxategientzat"
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr "indartu IZENA talde bezala gehituriko fitxategientzat"
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr "DATA-EDO-FITXATEGIA"
 
-#: src/tar.c:472
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr "ALDAKETAK"
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "indartu (sinbolikoa) modu ALDAKETAK gehituriko lerroentzat"
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr "METODOA"
 
-#: src/tar.c:477
+#: src/tar.c:479
 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:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr "ez atera fitxategi eraldaketa data"
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr "jabe berdinaren fitxategiak ateratzen saiatu"
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr "atera fitxategiak zure kabuz"
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr "beti erabili zenbakiak erabiltzaile/talde izenen ordez"
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 "fitxategi baimenei buruzko argibideak atera (lehenetsia root "
 "erabiltzailearentzat)"
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1553,426 +1570,439 @@ msgstr ""
 "erabiltzailearen umask-a erabili paketetik baimenak ateratzerakoan "
 "(lehenetsia erabiltzaile arruntentzat)"
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr ""
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr "-p eta -s bikotearen berdina"
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "--delay-directory-restore aukeraren eragina ezeztatu"
 
-#: src/tar.c:508
+#: src/tar.c:510
 #, fuzzy
 msgid "Device selection and switching:"
 msgstr "Gailu hautapen eta aldaketa:\n"
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr "PAKETEA"
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr "pakete fitxategia edo gailu PAKETEA erabili"
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
 msgstr "pakete fitxategi lokala da nahiz bi puntu izan"
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "Emandako rmt KOMANDOA erabili rmt ordez"
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr "Urruneko KOMANDOA erabili rsh ordez"
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr "Gailu eta dentsitatea ezarri"
 
-#: src/tar.c:535
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
 msgstr "sortu/zerrendatu/atera bolumen-anitzeko paketea"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "zinta aldatu ZENBAKIA x 1024 byte idatzi ondoren"
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr "scipt-a abiarazi zinta bakoitzaren amaieran (-M behar du)"
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr "erabili/eguneratu FITXATEGI bolumen zenbakia"
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr "Gailu blokeak:"
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr "BLOKE"
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOKE x 512 byte grabazio bakoitzeko"
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "grabazio bakoitzeko byte ZENBAKIA, 512-ren multiploa"
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "paketean zeroz betetako blokeak alde batetara utzi"
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "irakurri ahala berriz bloke egin (4.2BSD tutuentzat)"
 
-#: src/tar.c:561
+#: src/tar.c:563
 msgid "Archive format selection:"
 msgstr "Pakete formatu hautapena:"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr "FORMATUA"
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr "emandako formatuko pakete bat sortu"
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr "FORMATUA hauetako bat da:"
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr "V7 tar formatu zaharra"
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr "GNU formatua tar <= 1.12"
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr "GNU tar 1.13.x formatua"
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "POSIX 1003.1-1988 (ustar) formatua"
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "POSIX 1003.1-2001 (pax) formatua"
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr "pax-en berdina"
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr "--format=v7-ren berdina"
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr "--format=posix-ren berdina"
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "gakoa[[:]=balioavalue][,gakoa[[:]=balioa]]..."
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr ""
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr "TESTUA"
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
 
-#: src/tar.c:592
+#: src/tar.c:594
 #, fuzzy
 msgid "Compression options:"
 msgstr "Elkarjotzen duten konpresio aukerak"
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:596
+#: src/tar.c:598
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr "fitxategia bzip2 bidez iragazi"
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr "fitxategia gzip bidez iragazi"
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr "fitxategia konpresorearen bidez iragazi"
 
-#: src/tar.c:605
+#: src/tar.c:610
 #, fuzzy
 msgid "filter the archive through lzma"
 msgstr "fitxategia gzip bidez iragazi"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "fitxategia gzip bidez iragazi"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr "PROG"
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr "PROG bidez iragazi (-d onartu behar du)"
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr "Fixtategi lokal hautapena:"
 
-#: src/tar.c:615
+#: src/tar.c:622
 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:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr "DIR"
 
-#: src/tar.c:617
+#: src/tar.c:624
 msgid "change to directory DIR"
 msgstr "DIR direktoriora aldatu"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr "ateratzeko edo sortzeko izenak FITXATEGIA-tik eskuratu"
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr ""
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr ""
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "PATROIA"
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr "fixtategiak utzi, PATROIA bezala emandakoak"
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr "FITXATEGIAN zerrendaturiko patroiak alde batetara utzi"
 
-#: src/tar.c:631
+#: src/tar.c:640
 #, 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:634
+#: src/tar.c:643
 #, fuzzy
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "katxe marka duten direktorioak alde batetara utzi"
 
-#: src/tar.c:637
+#: src/tar.c:646
 #, fuzzy
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "katxe marka duten direktorioak alde batetara utzi"
 
-#: src/tar.c:639
+#: src/tar.c:648
 #, fuzzy
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr "katxe marka duten direktorioak alde batetara utzi"
 
-#: src/tar.c:642
+#: src/tar.c:651
 #, fuzzy
 msgid "exclude everything under directories containing FILE"
 msgstr "katxe marka duten direktorioak alde batetara utzi"
 
-#: src/tar.c:644
+#: src/tar.c:653
 #, fuzzy
 msgid "exclude directories containing FILE"
 msgstr "katxe marka duten direktorioak alde batetara utzi"
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr "sahiestu automatikoki direktorioetan zehar jeistea"
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr "fitxategi sistema lokalean egon paketea sortzerakoan"
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr "direktorioetan barrena (lehenetsia)"
 
-#: src/tar.c:654
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
 msgstr "Ez kendu hasierako  `/' fitxategi izenetatik"
 
-#: src/tar.c:656
+#: src/tar.c:665
 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:658
+#: src/tar.c:667
 #, 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:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr "PARTAIDE IZEN"
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr ""
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr "DATA"
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr "data eta ordua parekatu data bakarrik aldatzen denean"
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr "KONTROL"
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr "babeskopia egin ezabatu aurretik, KONTROL bertsioa hautatu"
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr "KATEA"
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr "Fitxategi izen eraldaketak:"
 
-#: src/tar.c:676
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr "ESPRESIOA"
 
-#: src/tar.c:679
+#: src/tar.c:688
 #, fuzzy
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "Sed-en ordezko EXPRESIOA erabili fitxategi izenak eraldatzeko"
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/tar.c:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr "kasua alde batetara utzi"
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr ""
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr "verbatim kate parekatzea"
 
-#: src/tar.c:699
+#: src/tar.c:709
 msgid "wildcards do not match `/'"
 msgstr ""
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr "irteera informatiboa:"
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 "Aurrerapen mezuak bistarazi grabaketa ZENBAKI bakiotzagatik (lehenetsia 10 "
 "da)"
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr "mezu bat inprimatu lotura guztiak ez badira iraultzen"
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr "SEINALEA"
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1980,262 +2010,276 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr "eraldaketa datak UTC orduan bistarazi"
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr "irteera luzea FITXATEGIRA bidali"
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr "Bloke zenbakia bistarazu pakete bakoitzeko mezu bakoitzagatik"
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr "berrespena eskatu ekintza bakoitzean"
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr "tar lehenespenak bistarazi"
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr "fixtategi edo pakete izenak bistarazi eraldaketaren aurretik"
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr "ESTILOA"
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr "Gako karaktere gehigarriak KATE-tik"
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr "gakoak kendu karaktereentzat KATE-tik"
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr "Bateragarritasun aukerak:"
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr "Beste aukerak:"
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr "ezgaitu arriskutsu izan daitezken zenbait aukera"
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Ezin duzu `-Acdtrux' aukera bat baino gehiago ezarri"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Elkarjotzen duten konpresio aukerak"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Seinale izen ezezaguna: %s"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 msgid "Date sample file not found"
 msgstr "Data adibide fitxategia ez da aurkitu"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "%s %s data formatu ezezagunagatik aldatzen"
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr ""
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, c-format
 msgid "%s: file list already read"
 msgstr "%s: fitxategi zerrenda irakurria dagoeneko"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr "--quoting-style-entzat balio erabilgarriak:"
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Blokeo faktore baliogabea"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 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?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Zinta luzera baliogabea"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Atari data bat baino gehiago"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' ez da onartzen plataforma honetan"
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint balioa ez da zenbaki oso bat"
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: Talde baliogabea"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Modu baliogabea eman da aukeran"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr "Zenbaki baliogabea"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Jabe baliogabea"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Grabazio tamaina baliogabea"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Grabaszio tamaina %d-ren multiplo bat izan behar da."
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr "Elementu kopuru baliogabea"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr "--to-command aukera bat bakarrik onartzen da"
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Gaizki eratutako dentsitate argumentua: %s"
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
 msgstr "Dentsitate Ezezaguna: `%c'"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, 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:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr "[FITXATEGIA]..."
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "`%c' zaharkituriko aukerak argumentu bat behar du"
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr ""
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 msgid "Multiple archive files require `-M' option"
 msgstr "Pakete fitxategi anitzentzat `-M' aukera erabili behar da"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "Ezin dira --listed-incremental eta --newer batera erabili"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Ezin dira bolumen-anitzeko paketeak egiaztatu"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Ezin dira konprimituriko fitxategiak egiaztatu"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Ezin dira bolumen anitzeko konprimituriko paketeak erabaili"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 msgid "Cannot concatenate compressed archives"
 msgstr "Ezin dira konprimituriko paketeak kateatu"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option POSIX paketeekin bakarrik erabili daiteke"
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr ""
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr " `-Aru' aukerak bateraezinak dira `-f -' rekin"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Behintzat `-Acdtrux' aukeretako bat ezarri behar duzu"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Errore irteera aurreko erroreak direla eta"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, c-format
@@ -2244,81 +2288,81 @@ msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "%s gakoa ezezaguna da edo ez dago inplementaturik oraindik"
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "%s patroia ezin da erabili"
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "%s gakoa ezin da gainidatzi"
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr "Gaizki eratutako buru luzapena: luzera falta da"
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 #, fuzzy
 msgid "Extended header length is out of allowed range"
 msgstr " %*s buru luzapen luzera eremuz kanpo dago"
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr " %*s buru luzapen luzera eremuz kanpo dago"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr "Gaizki eratutako buru luzapena: luzera ondoren hutsunea falta da"
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr "Gaizki eratutako buru luzapena: berdin ikurra falta da"
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr "Gaizki eratutako buru luzapena: lerro berria falta da"
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr "alde batetara utzi gako buru luzapen ezezaguna `%s'"
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, 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:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Gaizki eratutako buru luzapena: baliogabea %s=%s"
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Gaizki eratutako buru luzapena: gehiegizkoa %s=%s"
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 "Gaizki eratutako buru luzapena: %s baliogabea: %c mugatzaile esperodageba"
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Gaizki eratutako buru luzapena: %s baliogabea: balio kopuru bitxia"
@@ -2484,103 +2528,117 @@ msgstr "Inodo zenbakia eremuz kanpo dago"
 msgid "Negative size: %s"
 msgstr "Tamaina baliogabea: %s"
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) -ek huts egin du"
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Errorea zenbakia analizatzean hemendi gertu: `%s'"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, c-format
 msgid "Unknown date format"
 msgstr "Data formatu ezezaguna"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr "[ARG...]"
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
 msgstr "Ezin da `%s' ireki"
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 #, fuzzy
 msgid "cannot seek"
 msgstr "%s: Ezin da %s-ra seek egin"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr "fitxategia izenak karaktere baliogabea du"
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, 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:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "maskara baliogabea (`%s'-etik gertu)"
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "`%s' eremu ezezaguna"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "ezin da `%s'-ren denbora ezarri"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Komandoa behar bezala irten da\n"
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Komandoa %d egoerarekin huts egin du\n"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Komandoa %d seinalearekin amaitu da\n"
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Komandoa %d seinalearekin geratu da\n"
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Komando iraulketa nagusia\n"
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr "Komandoa amaitua\n"
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat -ek fitxategi izenak behar ditu"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr "argumentu gehiegi"
 
+#, fuzzy
+#~ msgid "cancel effect of the previous --transform-links option"
+#~ msgstr "--delay-directory-restore aukeraren eragina ezeztatu"
+
 #~ msgid "block size"
 #~ msgstr "bloke tamaina"
 
@@ -2627,3 +2685,6 @@ msgstr "argumentu gehiegi"
 
 #~ msgid "[.]NUMBER"
 #~ msgstr "[.]ZENBAKIA"
+
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Errore irteera aurreko erroreak direla eta"
index d21c46fff9da7fe2675379a0db9102b66db505d0..65b2580098c0897295173bf13975bb7390197b20 100644 (file)
Binary files a/po/fi.gmo and b/po/fi.gmo differ
index 235f05b9036322c81f3003472fa84787c6a15c2c..56a1e677af988895e73ac2ab29603776cee31f23 100644 (file)
--- a/po/fi.po
+++ b/po/fi.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.16.1\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
 "PO-Revision-Date: 2006-12-09 18:58+0200\n"
 "Last-Translator: Lauri Nurmi <lanurmi@iki.fi>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@@ -80,7 +80,7 @@ msgstr " [VALITSIN...]"
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr "Komennot ”%s --help” ja ”%s --usage” antavat lisää tietoa.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Ilmoita ohjelmistovioista (englanniksi) osoitteeseen %s.\n"
@@ -89,15 +89,15 @@ msgstr "Ilmoita ohjelmistovioista (englanniksi) osoitteeseen %s.\n"
 msgid "Unknown system error"
 msgstr "Tuntematon järjestelmävirhe"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr "näytä tämä ohje"
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr "näytä lyhyt käyttöohje"
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr "NIMI"
@@ -110,11 +110,11 @@ msgstr ""
 msgid "SECS"
 msgstr ""
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr "näytä ohjelman versio"
 
@@ -132,7 +132,7 @@ msgstr "%s: Liian monta argumenttia\n"
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr ""
 
@@ -191,16 +191,16 @@ msgstr "%s: valitsin ”-W %s” on moniselitteinen\n"
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: valitsin ”-W %s” ei salli argumenttia\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "muisti lopussa"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Työhakemistoa ei voi vaihtaa"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Työhakemistoa ei voi tallentaa"
@@ -322,11 +322,23 @@ msgstr "”"
 msgid "'"
 msgstr "”"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr "^[kKyY]"
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr "^[eEnN]"
 
@@ -529,104 +541,104 @@ msgstr "Ennenaikainen tiedoston loppu"
 msgid "Garbage command"
 msgstr "Roskakomento"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Tämä ei näytä tar-arkistolta"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 msgid "Total bytes written"
 msgstr "Kirjoitettuja tavuja yhteensä"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr ""
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Poistettuja tavuja yhteensä: %s\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(putki)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "Virheellinen arvo kentälle record_size"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Arkiston nimeä ei ole annettu"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Vakiosyötteessä/tulosteessa olevaa arkistoa ei voi varmistaa"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Arkisto on tiivistetty. Käytä valitsinta %s"
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Pakattuja arkistoja ei voi päivittää"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "Nauhan alussa, lopetetaan"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Liian monta virhettä, lopetetaan"
 
-#: src/buffer.c:678
-#, 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:698
+#: src/buffer.c:695
 #, 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:771
+#: src/buffer.c:716
+#, 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:793
 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:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek ei pysähtynyt tietueen rajalle"
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: sisältää virheellisen arkiston osan järjestysnumeron"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Arkisto-osan järjestysnumeron ylivuoto"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Valmistele osa #%d arkistolle %s ja paina return: "
 
-#: src/buffer.c:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "Tiedoston loppu odotetun käyttäjän syötteen sijaan"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "VAROITUS: Arkisto on epätäydellinen"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -638,66 +650,67 @@ msgstr ""
 " q             Keskeytä tar\n"
 " y tai rivinv. Jatka suoritusta\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Käynnistä alikuori\n"
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Näytä tämä lista\n"
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Ei uutta arkiston osaa, poistutaan.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr "Tiedostonimeä ei annettu. Yritä uudelleen.\n"
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, c-format
 msgid "%s command failed"
 msgstr "Komento %s epäonnistui"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, 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:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s ei jatku tällä arkiston osalla"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s on väärän kokoinen (%s ≠ %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Tämä arkiston osa ei ole järjestyksessä"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arkistoa ei ole nimetty täsmää nimiöön %s"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Arkiston osa %s ei täsmää nimiöön %s"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -705,6 +718,11 @@ msgstr ""
 "%s: tiedostonimi on liian pitkä tallennettavaksi moniosaisen GNU-arkiston "
 "otsakkeeseen; nimi typistetty"
 
+#: src/buffer.c:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "rmtlseek ei pysähtynyt tietueen rajalle"
+
 #: src/compare.c:96
 #, c-format
 msgid "Could only read %lu of %lu byte"
@@ -716,8 +734,8 @@ msgstr[1] "Voitiin lukea vain %lu tavua %lu tavusta"
 msgid "Contents differ"
 msgstr "Sisällöt eroavat"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Odottamaton tiedoston loppu arkistossa"
 
@@ -835,7 +853,7 @@ msgstr[1] "%s: Tiedosto kutistui %s tavun verran, tasataan nollilla"
 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:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr ""
 
@@ -864,7 +882,7 @@ msgstr "%s: tiedosto on arkistossa, ei lisätä"
 msgid "%s: File removed before we read it"
 msgstr "%s: Tiedosto oli poistettu ennen sen lukemista"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 #, fuzzy
 msgid "directory not dumped"
 msgstr "%s: näyttää välimuistihakemistolta, ei lisätä"
@@ -916,169 +934,169 @@ msgstr "%s: Hakemisto nimettiin uudelleen ennen kuin sen tilaa voitiin purkaa"
 msgid "Extracting contiguous files as regular files"
 msgstr "Puretaan jatkuvat tiedostot normaaleiksi tiedostoiksi"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Yritetään purkaa symboliset linkit koviksi linkeiksi"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Luetaan %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, 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:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "Odottamaton tiedoston loppu sovitetuissa nimissä"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
 msgstr "%s: Tuntematon tiedostotyyppi ”%c”, purettiin normaaliksi tiedostoksi"
 
-#: src/extract.c:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Nykyinen %s on uudempi tai yhtä vanha"
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Tätä tiedostoa ei voitu varmuuskopioida"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, fuzzy, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s: Uudelleennimeäminen nimelle %s ei onnistu"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "Virhe ei ole korjattavissa, poistutaan nyt"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Hakemisto %s on nimetty uudelleen"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Hakemisto on nimetty uudelleen"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Hakemisto on uusi"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Virheellinen aikaleima"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 msgid "Invalid modification time (seconds)"
 msgstr "Virheellinen muutosaika (sekunnit)"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr "Virheellinen muutosaika (nanosekunnit)"
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Virheellinen laitenumero"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Virheellinen i-solmun numero"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr ""
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr ""
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "Odottamaton tiedoston loppu arkistossa"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr ""
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr ""
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr ""
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 #, fuzzy
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Kelvoton tiheysargumentti: ”%s”"
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 #, fuzzy
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Kelvoton tiheysargumentti: ”%s”"
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Väliaikaishakemiston luominen %s-mallia käyttäen ei onnistu"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Ei poisteta hakemistoa: stat ei onnistu"
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: hakemisto on eri laitteella, ei poisteta"
 
-#: src/incremen.c:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Poistetaan %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Ei voi poistaa"
@@ -1098,19 +1116,19 @@ msgstr "lohko %s: ** NUL-lohko **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "lohko %s: ** Tiedoston loppu **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "lohko %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1118,70 +1136,70 @@ msgstr ""
 "kahden komplementiksi"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:728
+#: src/list.c:737
 #, 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:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arkisto sisältää käytöstä poistuvia base-64-otsakkeita"
 
-#: src/list.c:763
+#: src/list.c:772
 #, 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:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, 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:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " linkki tiedostoon %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " tuntematon tiedostotyyppi %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Pitkä linkki--\n"
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Pitkä nimi--\n"
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Arkiston osan otsake--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Jatkuu tavusta %s--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Luodaan hakemisto:"
 
@@ -1219,24 +1237,24 @@ msgstr "prosessienvälinen kanava"
 # ... ja sen pitää päätyä kääntäjien ongelmaksi?
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr "Tiedostonimissä on käytetty jokerimerkkejä. Käytä"
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr "valitsinta --wildcards täsmäyksen käyttöön ottamiseksi, tai"
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr "--no-wildcards tämän varoituksen vaientamiseksi."
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Ei löytynyt arkistosta"
 
-#: src/names.c:621
+#: src/names.c:615
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Vaadittua esiintymää ei löytynyt arkistosta"
@@ -1262,7 +1280,7 @@ msgid ""
 "Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
 msgstr ""
 
-#: src/tar.c:334
+#: src/tar.c:336
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1280,7 +1298,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:343
+#: src/tar.c:345
 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 "
@@ -1301,86 +1319,86 @@ msgstr ""
 "                  muuten yksinkertaisia\n"
 "  never, simple   tee aina yksinkertaisia varmuuskopioita\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr "Päätoimintatila:"
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr "listaa arkiston sisältö"
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr "pura tiedostoja arkistosta"
 
-#: src/tar.c:377
+#: src/tar.c:379
 msgid "create a new archive"
 msgstr "luo uusi arkisto"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr "etsi arkiston ja tiedostojärjestelmän väliset erot"
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr "lisää tiedostoja arkiston loppuun"
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr "lisää vain arkistokopiota uudemmat tiedostot"
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr "lisää tar-tiedostoja arkistoon"
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "poista tiedostoja arkistosta (ei toimi magneettinauhoilla!)"
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr "Toimintovalinnat:"
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr "käsittele harvat tiedostot tehokkaasti"
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr "käsittele vanha GNU-muotoinen lisääntyvä varmuuskopio"
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr "TIED"
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr "käsittele uusi GNU-muotoinen lisääntyvä varmuuskopio"
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr "jatka lukukelvottomista tiedostoista huolimatta"
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr "MÄÄRÄ"
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1393,299 +1411,299 @@ msgstr ""
 "annettu komentirivillä tai -T-valitsimella; oletusMÄÄRÄ on 1"
 
 # Muualla seek on siirtymistä...
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr "arkisto on selattava"
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr ""
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr "yritä varmistaa arkisto kirjoittamisen jälkeen"
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr "poista tiedostot arkistoon lisäämisen jälkeen"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr "älä korvaa olemassaolevia tiedostoja purettaessa"
 
-#: src/tar.c:435
+#: src/tar.c:437
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 "älä korvaa olemassaolevia tiedostoja, jotka ovat arkistokopioitaan uudempia"
 
-#: src/tar.c:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr "ylikirjoita olemassaolevat tiedostot purettaessa"
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr "poista jokainen tiedosto ennen sen päälle purkamista"
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr "tyhjennä rakenne ennen hakemiston purkamista"
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr "säilytä olemassaolevien hakemistojen metatiedot"
 
-#: src/tar.c:445
+#: src/tar.c:447
 #, fuzzy
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr "ylikirjoita olemassaolevat tiedostot purettaessa"
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr "Valitse tulostusvirta:"
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
 msgstr "pura tiedostot vakiotulosteeseen"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr "KOMENTO"
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr "putkita puretut tiedostot toiselle ohjelmalle"
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr "jätä lapsiprosessien paluuarvot huomiotta"
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr "käsittele lapsiprosessien nollasta poikkeavat paluuarvot virheinä"
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr "Tiedostojen ominaisuuksien käsittely:"
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr "pakota NIMI lisättyjen tiedostojen omistajaksi"
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr "pakota NIMI lisättyjen tiedostojen ryhmäksi"
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr "PÄIVÄYS-TAI-TIED"
 
-#: src/tar.c:472
+#: src/tar.c:474
 #, fuzzy
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "tallenna vain PÄIVÄYS-TAI-TIEDostoa uudemmat tiedostot"
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr "MUUTOS"
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "pakota (symbolinen) tila MUUTOS lisätyille"
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr ""
 
-#: src/tar.c:477
+#: src/tar.c:479
 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:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr "älä pura tiedoston muutosaikaa"
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr "yritä purkaa tiedostot samalla omistajuudella"
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr "pura tiedostot itsenäsi"
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr "käytä aina numeroita käyttäjän/ryhmän nimissä"
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr "lajittele purettavat tiedostonimet täsmäämään arkistoon"
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr "sama kuin -p ja -s yhdessä"
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr ""
 
-#: src/tar.c:508
+#: src/tar.c:510
 #, fuzzy
 msgid "Device selection and switching:"
 msgstr "Laitteen valinta ja vaihtaminen:\n"
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr "ARKISTO"
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr "käytä arkistotiedostoa tai -laitetta ARKISTO"
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
 msgstr "arkisto on paikallinen vaikka nimessä olisi kaksoispiste"
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "käytä rmt-KOMENTOA rmt:n sijaan"
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr "käytä etäKOMENTOa rsh:n sijaan"
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr "anna asema ja tiheys"
 
-#: src/tar.c:535
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
 msgstr "luo/listaa/pura moniosainen arkisto"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "vaihda nauhaa MÄÄRÄ × 1024 kirjoitetun tavun jälkeen"
 
-#: src/tar.c:539
+#: src/tar.c:541
 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:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr "käytä/päivitä arkiston osan numero TIEDostossa"
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr "Laitteen lohkot:"
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr "LOHKOT"
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr "LOHKOT × 512 tavua tietuetta kohti"
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "MÄÄRÄ tavua tietuetta kohti, 512:n monikerta"
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "älä huomioi nollattuja lohkoja arkistossa (merkitsee tiedoston loppua)"
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "suorita lohkominen uudelleen luettaessa (4.2BSD-putkia varten)"
 
-#: src/tar.c:561
+#: src/tar.c:563
 msgid "Archive format selection:"
 msgstr "Arkistomuodon valinta:"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr "MUOTO"
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr "luo annetun muotoinen arkisto"
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr "MUOTO on yksi seuraavista:"
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr "vanha V7-tar-muoto"
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr "GNU-muoto tar-versioilla ≤ 1.12"
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr "GNU tar 1.13.x -muoto"
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "POSIX 1003.1-1988 (ustar) -muoto"
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "POSIX 1003.1-2001 (pax) -muoto"
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr "sama kuin pax"
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr "sama kuin --format=v7"
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr "sama kuin --format=posix"
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "avainsana[[:]=arvo][,avainsana[[:]=arvo]]..."
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr "määrittele pax-avainsanoja"
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr "TEKSTI"
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1693,179 +1711,192 @@ msgstr ""
 "luo arkisto nimiöllä TEKSTI. Listattaessa/purettaessa käytä TEKSTIä "
 "nimiönhakulausekkeena"
 
-#: src/tar.c:592
+#: src/tar.c:594
 #, fuzzy
 msgid "Compression options:"
 msgstr "Ristiriitaiset pakkausvalitsimet"
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:596
+#: src/tar.c:598
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr "ohjaa arkisto bzip2-ohjelman läpi"
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr "ohjaa arkisto gzip-ohjelman läpi"
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr "ohjaa arkisto compress-ohjelman läpi"
 
-#: src/tar.c:605
+#: src/tar.c:610
 #, fuzzy
 msgid "filter the archive through lzma"
 msgstr "ohjaa arkisto gzip-ohjelman läpi"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "ohjaa arkisto gzip-ohjelman läpi"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr "OHJ"
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr "ohjaa OHJelman läpi (on hyväksyttävä -d)"
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr "Paikallisten tiedostojen valinta:"
 
-#: src/tar.c:615
+#: src/tar.c:622
 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:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr "HAK"
 
-#: src/tar.c:617
+#: src/tar.c:624
 msgid "change to directory DIR"
 msgstr "siirry hakemistoon HAK"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr "hae purettavat/luotavat nimet TIEDOSTOsta"
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr "-T lukee nollaan päättyviä nimiä, poistaa käytöstä -C:n"
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr ""
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "HAHMO"
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr "jätä pois HAHMOn mukaiset tiedostot"
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr "jätä pois TIEDOSTOssa listatut hahmot"
 
-#: src/tar.c:631
+#: src/tar.c:640
 #, fuzzy
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr "jätä pois välimuistihakemistot"
 
-#: src/tar.c:634
+#: src/tar.c:643
 #, fuzzy
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "jätä pois TIEDOSTOn sisältävät hakemistot"
 
-#: src/tar.c:637
+#: src/tar.c:646
 #, fuzzy
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "jätä pois TIEDOSTOn sisältävät hakemistot"
 
-#: src/tar.c:639
+#: src/tar.c:648
 #, fuzzy
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr "jätä pois TIEDOSTOn sisältävät hakemistot"
 
-#: src/tar.c:642
+#: src/tar.c:651
 #, fuzzy
 msgid "exclude everything under directories containing FILE"
 msgstr "jätä pois TIEDOSTOn sisältävät hakemistot"
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr "jätä pois TIEDOSTOn sisältävät hakemistot"
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr "estä automaattinen eteneminen alihakemistoihin"
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr "pysy nykyisessä tiedostojärjestelmässä arkistoa luotaessa"
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr "etene alihakemistoihin (oletus)"
 
-#: src/tar.c:654
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
 msgstr "älä poista ”/”-merkkiä tiedostonimien alusta"
 
-#: src/tar.c:656
+#: src/tar.c:665
 #, fuzzy
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "seuraa symlinkkejä; "
 
-#: src/tar.c:658
+#: src/tar.c:667
 #, fuzzy
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "seuraa symlinkkejä; "
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr "TIED-NIMI"
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr "aloita arkiston tiedostosta TIED-NIMI"
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "tallenna vain PÄIVÄYS-TAI-TIEDostoa uudemmat tiedostot"
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr "PÄIVÄYS"
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr "vertaa vain tiedoston muutosaikaa"
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr "HALLINTA"
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr "varmuuskopiointi ennen poistoa, valitse versionHALLINTA"
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr "MERKKIJONO"
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -1873,95 +1904,95 @@ msgstr ""
 "varmuuskopiointi ennen poistoa, älä käytä tavanomaista jälkiliitettä (joka "
 "on ”~”, ellei muuttujaa SIMPLE_BACKUP_SUFFIX ole asetettu)"
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:676
+#: src/tar.c:685
 #, fuzzy
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "poista MÄÄRÄn verran osia tiedostonimien alusta"
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/tar.c:687
+#: src/tar.c:697
 #, fuzzy
 msgid "ignore case"
 msgstr "poisjättäminen ei huomioi kirjainkokoa"
 
-#: src/tar.c:689
+#: src/tar.c:699
 #, fuzzy
 msgid "patterns match file name start"
 msgstr "poisjättöhahmoja verrataan nimen alkuun"
 
-#: src/tar.c:691
+#: src/tar.c:701
 #, fuzzy
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr "poisjättöhahmoja verrataan jokaisen ”/”:n jälkeen"
 
-#: src/tar.c:693
+#: src/tar.c:703
 #, fuzzy
 msgid "case sensitive matching (default)"
 msgstr "poisjättäminen huomioi kirjainkoon (oletus)"
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr ""
 
-#: src/tar.c:699
+#: src/tar.c:709
 #, fuzzy
 msgid "wildcards do not match `/'"
 msgstr "poisjättöhahmon jokerimerkit eivät täsmää ”/”-merkkiin"
 
-#: src/tar.c:701
+#: src/tar.c:711
 #, fuzzy
 msgid "wildcards match `/' (default for exclusion)"
 msgstr "poisjättöhahmon jokerimerkit vastaavat merkkiä ”/”"
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr "Tietoja antava tuloste:"
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr "listaa käsiteltävät tiedostot"
 
-#: src/tar.c:711
+#: src/tar.c:721
 #, fuzzy
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "näytä edistymisviesti 10 sekunnin välein"
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr "näytä viesti, ellei kaikkia linkkejä lisätty"
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1969,58 +2000,58 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr "näytä tiedostojen muutosajat UTC-aikoina"
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr "ohjaa monisanainen tuloste TIEDostoon"
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr "näytä lohkonumero arkistossa viestien yhteydessä"
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr "kysy varmistusta jokaiselle toiminnolle"
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr "näytä tarin oletukset"
 
-#: src/tar.c:735
+#: src/tar.c:745
 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:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr "Yhteensopivuusvalitsimet:"
 
-#: src/tar.c:753
+#: src/tar.c:763
 #, fuzzy
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
@@ -2028,57 +2059,57 @@ msgid ""
 msgstr ""
 "luotaessa sama kuin --old-archive purettaessa sama kuin --no-same-owner"
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr "Muut valitsimet:"
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr "poista käytöstä joitakin potentiaalisesti vahingollisia valitsimia"
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Vain yhtä valitsimista ”-Acdtrux” voi käyttää kerrallaan"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Ristiriitaiset pakkausvalitsimet"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Tuntematon signaalin nimi: %s"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 #, fuzzy
 msgid "Date sample file not found"
 msgstr "Päiväystiedostoa ei löytynyt"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Korvataan tuntematon päiväysmuoto %2$s arvolla %1$s"
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, 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:1096
+#: src/tar.c:1119
 #, fuzzy, c-format
 msgid "%s: file list already read"
 msgstr "%s: tiedosto on arkistossa, ei lisätä"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: tiedostonimi sisältää nul-merkin"
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr "Kelvolliset argumentit --quoting-style -valitsimille ovat:"
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2086,151 +2117,165 @@ msgstr ""
 "\n"
 "*Tämä* tar käyttää oletuksena:\n"
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Virheellinen lohkomiskerroin"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr "Varoitus: valitsin -I ei ole tuettu, ehkä tarkoitit -j tai -T?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Virheellinen nauhan pituus"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Annettu useampi kuin yksi kynnyspäiväys"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' ei ole tuettu tällä alustalla"
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: Virheellinen ryhmä"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Valitsimelle annettiin virheellinen tila"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr "Virheellinen määrä"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Virheellinen omistaja"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Virheellinen tietueen koko"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Tietueen koon on oltava %d:n monikerta."
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr "Virheellinen osien määrä"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Kelvoton tiheysargumentti: %s"
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
 msgstr "Tuntematon tiheys: ”%c”"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, 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:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr "[TIEDOSTO]..."
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "Vanha valitsin ”%c” vaatii argumentin."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr "valitsin --occurence on merkityksetön ilman tiedostoluetteloa"
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr "valitsinta --occurence ei voi käyttää pyydetyssä toimintatilassa"
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 msgid "Multiple archive files require `-M' option"
 msgstr "Usean arkistotiedoston käyttäminen vaatii valitsimen ”-M”"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "Valitsimia --listed-incremental ja --newer ei voi käyttää yhdessä"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Moniosaisia arkistoja ei voi tarkastaa"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Pakattuja arkistoja ei voi varmistaa"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Pakattuja moniosaisia arkistoja ei voi käyttää"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 msgid "Cannot concatenate compressed archives"
 msgstr "Pakattuja arkistoja ei voi liittää toisiinsa"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "Valitsinta --pax-option voi käyttää vain POSIX-arkistoille"
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Kieltäydytään pelkurimaisesti luomasta tyhjää arkistoa"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "Valitsimet ”-Aru” eivät ole yhteensopivia valitsinten ”-f -” kanssa"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Vähintään yhtä valitsimista ”-Acdtrux” on käytettävä"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Viivästetty virhepoistuminen johtuu aikaisemmista virheistä"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, c-format
@@ -2239,60 +2284,60 @@ msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Tiedosto kutistui %s tavun verran"
 msgstr[1] "%s: Tiedosto kutistui %s tavun verran"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Avainsana %s on tuntematon tai sillä ei vielä ole toteutusta"
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Hahmoa %s ei voi käyttää"
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Avainsanaa %s ei voi ohittaa"
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 #, fuzzy
 msgid "Malformed extended header: missing length"
 msgstr "Väärän muotoinen laajennettu otsake: yhtäsuuruusmerkki puuttuu"
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 #, fuzzy
 msgid "Extended header length is out of allowed range"
 msgstr ""
 "Arkiston etumerkillinen base-64-merkkijono %s on sallitun %s-välin "
 "ulkopuolella"
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, fuzzy, c-format
 msgid "Extended header length %*s is out of range"
 msgstr ""
 "Arkiston etumerkillinen base-64-merkkijono %s on sallitun %s-välin "
 "ulkopuolella"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 #, fuzzy
 msgid "Malformed extended header: missing blank after length"
 msgstr "Väärän muotoinen laajennettu otsake: tyhje puuttuu pituuden jälkeen"
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr "Väärän muotoinen laajennettu otsake: yhtäsuuruusmerkki puuttuu"
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 #, fuzzy
 msgid "Malformed extended header: missing newline"
 msgstr "Väärän muotoinen laajennettu otsake: yhtäsuuruusmerkki puuttuu"
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr ""
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2300,28 +2345,28 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:812
+#: src/xheader.c:810
 #, 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:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Väärän muotoinen laajennettu otsake: virheellinen %s=%s"
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, fuzzy, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Väärän muotoinen laajennettu otsake: yhtäsuuruusmerkki puuttuu"
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 "Väärän muotoinen laajennettu otsake: virheellinen %s: odottamaton rajoitin %c"
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, fuzzy, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Väärän muotoinen laajennettu otsake: yhtäsuuruusmerkki puuttuu"
@@ -2487,97 +2532,107 @@ msgstr "I-solmun numero ei ole sallitulla välillä"
 msgid "Negative size: %s"
 msgstr "Virheellinen koko: %s"
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) epäonnistui"
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Tuntematon järjestelmävirhe"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr "[ARG...]"
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
 msgstr ""
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 #, fuzzy
 msgid "cannot seek"
 msgstr "%s: Siirtyminen kohtaan %s ei onnistu"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr "tiedostonimi sisältää nollatavun"
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr " tuntematon tiedostotyyppi %s\n"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "%s: Siirtyminen kohtaan %s ei onnistu"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Komennon suoritus päättyi onnistuneesti\n"
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, fuzzy, c-format
 msgid "Command failed with status %d\n"
 msgstr "Lapsiprosessi kuoli signaalilla %d"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Komento keskeytyi signaaliin %d\n"
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Komento pysähtyi signaaliin %d\n"
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr "Komento keskeytyi\n"
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, fuzzy, c-format
 msgid "--stat requires file names"
 msgstr "--Sovitetut tiedostonimet--\n"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr "liian monta argumenttia"
@@ -2589,6 +2644,9 @@ msgstr "liian monta argumenttia"
 #~ msgid "[.]NUMBER"
 #~ msgstr "MÄÄRÄ"
 
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Viivästetty virhepoistuminen johtuu aikaisemmista virheistä"
+
 #~ msgid "%s: Read error at byte %s, reading %lu byte"
 #~ msgid_plural "%s: Read error at byte %s, reading %lu bytes"
 #~ msgstr[0] "%s: Lukuvirhe tavun %s kohdalla, luetaan %lu tavu"
index 9781dcbeb76b7fd344ac53be1de815076885bbe5..0d6a80c96f7744aa9f36ee1e071a90aee3e6feb8 100644 (file)
Binary files a/po/fr.gmo and b/po/fr.gmo differ
index f270aa12e624a70f0f4569e6c36134ef3e11fadf..0bb935c1ca307b287b2f60b87a1e2006466a81ff 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -1,14 +1,15 @@
 # Messages français pour GNU concernant tar.
 # Copyright © 2007 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
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: tar-1.19.90\n"
+"Project-Id-Version: tar-1.20\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
-"PO-Revision-Date: 2008-02-09 00:26+0100\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
+"PO-Revision-Date: 2008-04-14 22:07+0200\n"
 "Last-Translator: Christophe Combelles <ccomb@free.fr>\n"
 "Language-Team: French <traduc@traduc.org>\n"
 "MIME-Version: 1.0\n"
@@ -81,7 +82,7 @@ msgstr " [OPTION...]"
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr "Pour en savoir davantage, faites : « %s --help » ou « %s --usage ».\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Rapportez toute anomalie à %s.\n"
@@ -90,15 +91,15 @@ msgstr "Rapportez toute anomalie à %s.\n"
 msgid "Unknown system error"
 msgstr "Erreur système inconnue"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr "Afficher cette aide-mémoire"
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr "Afficher un court mode d'emploi"
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr "NOM"
@@ -111,11 +112,11 @@ msgstr "définit le nom du programme"
 msgid "SECS"
 msgstr "SECS"
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr "Bloquer pendant SECS secondes (3600 par défaut)"
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr "Afficher la version du programme"
 
@@ -133,7 +134,7 @@ msgstr "%s : trop d'arguments\n"
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(PROGRAM ERROR) L'option devrait avoir été reconnue !?"
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr "erreur d'écriture"
 
@@ -192,16 +193,16 @@ msgstr "%s : l'option « -W %s » est ambiguë\n"
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s : l'option « -W %s » ne prend pas d'argument\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "mémoire épuisée"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, c-format
 msgid "unable to record current working directory"
 msgstr "Impossible d'enregistrer le répertoire de travail actuel"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "Impossible de revenir au répertoire de travail initial"
@@ -324,11 +325,23 @@ msgstr "« "
 msgid "'"
 msgstr " »"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr "^[oO]"
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr "^[nN]"
 
@@ -554,107 +567,107 @@ msgstr "Fin de fichier prématurée"
 msgid "Garbage command"
 msgstr "Commande rejetée"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Ceci ne ressemble pas à une archive de type « tar »"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 msgid "Total bytes written"
 msgstr "Nombre total d'octets écrits"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr "Nombre total d'octets lus"
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Nombre total d'octets effacés : %s\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(tube)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "Valeur incorrecte pour « record_size »"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Aucun nom d'archive donné"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 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:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "L'archive est compressée. Utilisez l'option %s"
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Une archive compressée ne peut pas être mise à jour"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "Début de la cartouche atteinte ; arrêt du programme."
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Trop d'erreurs, arrêt du programme."
 
-#: src/buffer.c:678
-#, 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:698
+#: src/buffer.c:695
 #, 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:771
+#: src/buffer.c:716
+#, 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:793
 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:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek ne s'est pas arrêté à une limite d'enregistrement"
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s : contient un numéro de volume non valable"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Débordement du numéro de volume"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, 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:915
+#: src/buffer.c:935
 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:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "AVERTISSEMENT : l'archive est incomplète"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -665,66 +678,67 @@ msgstr ""
 " q             Arrêter tar\n"
 " y ou newline  Continuer le traitement\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Générer un sous-shell\n"
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Afficher cette liste\n"
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Pas de nouveau volume ; fin du traitement.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr "Nom de fichier non spécifié. Essaye encore :).\n"
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, 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:1044
+#: src/buffer.c:1064
 #, c-format
 msgid "%s command failed"
 msgstr "Échec de la commande %s"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, 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:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "La suite de %s n'est pas sur ce volume."
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s a une taille incorrecte (%s != %s + %s)."
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Ce volume est hors séquence."
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Archive non étiquetée pour correspondre à %s."
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Le volume %s ne correspond pas à %s."
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -732,6 +746,11 @@ msgstr ""
 "%s : nom de fichier tronqué, car trop long pour être stocké dans un en-tête "
 "GNU multi-volumes"
 
+#: src/buffer.c:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "rmtlseek ne s'est pas arrêté à une limite d'enregistrement"
+
 #: src/compare.c:96
 #, c-format
 msgid "Could only read %lu of %lu byte"
@@ -743,8 +762,8 @@ msgstr[1] "Seulement %lu octets sur %lu ont pu être lus"
 msgid "Contents differ"
 msgstr "Les contenus sont différents."
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Fin prématurée rencontrée dans l'archive."
 
@@ -868,7 +887,7 @@ msgstr ""
 "%s : le fichier est sur un système de fichiers différent ; fichier non "
 "archivé"
 
-#: src/create.c:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr "contenu non archivé"
 
@@ -897,7 +916,7 @@ msgstr "%s : le fichier est l'archive elle-même ; fichier non archivé"
 msgid "%s: File removed before we read it"
 msgstr "%s : fichier supprimé avant d'avoir été lu"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr "répertoire non archivé"
 
@@ -948,166 +967,166 @@ msgstr "%s : répertoire renommé avant l'extraction de son état"
 msgid "Extracting contiguous files as regular files"
 msgstr "Extraction des fichiers contigus comme des fichiers réguliers"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Tentative d'extraction des liens symboliques comme des liens physiques"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Lecture de %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, 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:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 msgid "Unexpected long name header"
 msgstr "En-tête à nom long inattendu"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
 msgstr "%s : type de fichier inconnu « %c », extrait comme un fichier normal."
 
-#: src/extract.c:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Le %s actuel est au moins aussi récent"
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s : impossible d'archiver ce fichier."
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Impossible de renommer %s en %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "Erreur non récupérable : arrêt du traitement"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s : le répertoire a été renommé depuis %s"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s : le répertoire a été renommé."
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s : le répertoire est nouveau."
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Horodatage non valable"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 msgid "Invalid modification time (seconds)"
 msgstr "Temps de modification non valable (secondes)"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr "Temps de modification non valable (nanosecondes)"
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Numéro de périphérique non valable"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Numéro d'inode non valable"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr "Champ trop long rencontré pendant la lecture du fichier d'instantané"
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr "Erreur de lecture du fichier d'instantané"
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 msgid "Unexpected EOF in snapshot file"
 msgstr "Fin prématurée du fichier d'instantané"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr "Valeur de champ inattendue dans le fichier d'instantané"
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr "Terminaison de champ manquante"
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr "Mauvais format de fichier incrémental"
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Version non prise en charge pour le format incrémental : %<PRIuMAX>"
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "dumpdir incorrect : « %c » était attendu mais %#3o a été trouvé"
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "dumpdir incorrect : « X » en double"
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "dumpdir incorrect : nom vide dans « R »"
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr "dumpdir incorrect : « T » non précédé de « R »"
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "dumpdir incorrect : nom vide dans « T »"
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, 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:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "dumpdir incorrect : « X » n'a jamais été utilisé"
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, 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:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s : répertoire non purgé : impossible d'évaluer par stat()"
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, 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:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s : suppression de %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s : suppression impossible"
@@ -1127,20 +1146,20 @@ msgstr "bloc %s : ** Bloc de NULs **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "bloc %s : ** Fin de fichier **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "bloc %s : "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1148,27 +1167,27 @@ msgstr ""
 "complément à 2 supposé"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:728
+#: src/list.c:737
 #, 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:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "L'archive contient des en-têtes obsolètes en base 64."
 
-#: src/list.c:763
+#: src/list.c:772
 #, 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:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr ""
@@ -1176,42 +1195,42 @@ msgstr ""
 "attendue."
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:845
+#: src/list.c:854
 #, 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:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " lien vers %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " type de fichier inconnu %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Lien long--\n"
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Nom long--\n"
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--En-tête de volume--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Suite à l'octet %s--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Création du répertoire :"
 
@@ -1248,28 +1267,28 @@ msgstr "canal inter-processus"
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr ""
 "Caractères de correspondance de motif utilisé dans le nom de fichier. "
 "Veuillez "
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
 "utiliser « --wildcards » pour activer la correspondance de motif ou « --no-"
 "wildcards » pour"
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr "supprimer cet avertissement."
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s : non trouvé dans l'archive"
 
-#: src/names.c:621
+#: src/names.c:615
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s : occurence requise non trouvée dans l'archive"
@@ -1298,7 +1317,7 @@ msgstr ""
 "Type de protection de caractères inconnu « %s ». Essayez « %s --quoting-"
 "style=help » pour avoir une liste."
 
-#: src/tar.c:334
+#: src/tar.c:336
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1319,7 +1338,7 @@ msgstr ""
 "manière détaillée.\n"
 "  tar -xf archive.tar          # Extrait tous les fichiers de archive.tar.\n"
 
-#: src/tar.c:343
+#: src/tar.c:345
 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 "
@@ -1340,91 +1359,91 @@ 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:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr "Mode d'opération principal :"
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr "Afficher le contenu de l'archive"
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr "Extraire les fichiers de l'archive"
 
-#: src/tar.c:377
+#: src/tar.c:379
 msgid "create a new archive"
 msgstr "Créer une nouvelle archive"
 
-#: src/tar.c:379
+#: src/tar.c:381
 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:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr "Ajouter des fichiers à la fin de l'archive"
 
-#: src/tar.c:384
+#: src/tar.c:386
 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:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr "Ajouter des fichiers tar à une archive"
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "Effacer de l'archive (pas sur les bandes magnétiques !)"
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr "Tester l'étiquette du volume d'archive et terminer"
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr "Modificateurs d'opération :"
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr ""
 "Économiser efficacement l'espace dans les fichiers dispersés (fichiers à "
 "trous)"
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr "MAJEUR[.MINEUR]"
 
-#: src/tar.c:401
+#: src/tar.c:403
 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:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr "Prendre en charge les sauvegardes incrémentales à l'ancien format GNU"
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr "FICHIER"
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr "Prendre en charge les sauvegardes incrémentales au nouveau format GNU"
 
-#: src/tar.c:407
+#: src/tar.c:409
 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:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr "NOMBRE"
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1437,123 +1456,127 @@ msgstr ""
 "fichiers est fournie soit sur la ligne de commande, soit avec l'option « -T "
 "». NOMBRE vaut 1 par défaut."
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr "L'archive peut être parcourue"
 
-#: src/tar.c:417
+#: src/tar.c:419
 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:420
+#: src/tar.c:422
 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:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr "Contrôle de l'écrasement :"
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr "Tenter de vérifier l'archive après écriture"
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr "Supprimer les fichiers après les avoir ajoutés à l'archive"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr "Ne pas écraser les fichiers préexistants lors de l'extraction"
 
-#: src/tar.c:435
+#: src/tar.c:437
 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:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr "Écraser les fichiers préexistants lors de l'extraction"
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr "Effacer chaque fichier préexistant avant l'extraction"
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr "Vider les hiérarchies avant d'extraire les répertoires"
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr "Préserver les métadonnées des répertoires préexistants"
 
-#: src/tar.c:445
+#: src/tar.c:447
 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:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr "Choix du flux de sortie :"
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
 msgstr "Extraire les fichiers vers la sortie standard"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr "COMMANDE"
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr "Renvoyer par tube les fichiers extraits vers un autre programme"
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr "Ignorer les codes de retour des processus enfants"
 
-#: src/tar.c:460
+#: src/tar.c:462
 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:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr "Traitement des attributs de fichiers :"
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr "Utiliser NOM comme propriétaire des fichiers ajoutés"
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr "Utiliser NOM comme groupe des fichiers ajoutés"
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr "DATE-OU-FICHIER"
 
-#: src/tar.c:472
+#: src/tar.c:474
 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:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr "CHANGEMENTS"
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr ""
 "Utiliser les CHANGEMENTS de mode (symboliques) pour les fichiers ajoutés"
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr "MÉTHODE"
 
-#: src/tar.c:477
+#: src/tar.c:479
 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 "
@@ -1563,29 +1586,29 @@ msgstr ""
 "lecture (MÉTHODE = « replace » par défaut) ou en ne définissant pas les dates "
 "initialement (MÉTHODE = « system »)"
 
-#: src/tar.c:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr "Ne pas extraire la date de modification du fichier"
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr "Essayer d'extraire les fichiers avec le même propriétaire"
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr "Vous approprier les fichiers extraits"
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr "Toujours utiliser les valeurs numériques des utilisateurs/groupes"
 
-#: src/tar.c:489
+#: src/tar.c:491
 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:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1593,15 +1616,15 @@ msgstr ""
 "Appliquer l'umask de l'utilisateur lors de l'extraction des permissions (par "
 "défaut pour les utilisateurs normaux)"
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr "Trier les noms à extraire dans le même ordre que l'archive"
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr "Équivalent à « -p -s » à la fois"
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1609,139 +1632,139 @@ msgstr ""
 "Reporter à la fin de l'extraction le changement des dates de modification et "
 "des permissions des répertoires extraits"
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "Annule l'effet de l'option « --delay-directory-restore »"
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr "Sélection et option de périphérique :"
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr "ARCHIVE"
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr "Utiliser le fichier ou le périphérique ARCHIVE"
 
-#: src/tar.c:513
+#: src/tar.c:515
 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:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "Utiliser la COMMANDE rmt fournie au lieu de rmt"
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr "Utiliser la COMMANDE distante à la place de rsh"
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr "Spécifier le lecteur et la densité"
 
-#: src/tar.c:535
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
 msgstr "Créer/lister/extraire une archive multi-volumes"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "Changer de cartouche après avoir écrit NOMBRE x 1024 octets"
 
-#: src/tar.c:539
+#: src/tar.c:541
 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:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr "Utiliser/mettre à jour le numéro de volume dans le FICHIER"
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr "Blocs du périphérique :"
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr "BLOCS"
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOCS x 512 octets par enregistrement"
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "NOMBRE d'octets par enregistrement (multiple de 512)"
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "Ignorer les blocs de zéros dans l'archive (càd EOF)"
 
-#: src/tar.c:556
+#: src/tar.c:558
 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:561
+#: src/tar.c:563
 msgid "Archive format selection:"
 msgstr "Sélection du format d'archive :"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr "Créer l'archive au format désiré."
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr "FORMAT peut prendre une des valeurs suivantes :"
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr "Vieux format tar V7"
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr "Format GNU issu de tar <= 1.12"
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr "Format GNU tar 1.13.x"
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "Format POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "Format POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr "Identique à pax"
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr "Identique à « --format=v7 »"
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr "Identique à « --format=posix »"
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "mot_clé[[:]=valeur][,mot_clé[[:]=valeur]..."
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr "Mots-clés de contrôle pax"
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr "TEXTE"
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1750,91 +1773,106 @@ msgstr ""
 "l'extraction, utiliser le TEXTE comme motif de correspondance (glob) au nom "
 "de volume."
 
-#: src/tar.c:592
+#: src/tar.c:594
 msgid "Compression options:"
 msgstr "Options de compression :"
 
-#: src/tar.c:594
+#: src/tar.c:596
 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:596
+#: src/tar.c:598
+#, fuzzy
+msgid "do not use 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:601
 msgid "filter the archive through bzip2"
 msgstr "Filtrer l'archive à travers « bzip2 »"
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr "Filtrer l'archive à travers « gzip »"
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr "Filtrer l'archive à travers « compress »"
 
-#: src/tar.c:605
+#: src/tar.c:610
 msgid "filter the archive through lzma"
 msgstr "Filtrer l'archive à travers « lzma »"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "Filtrer l'archive à travers « gzip »"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr "PROG"
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr "Filtrer à travers le PROG (doit accepter l'option « -d »)"
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr "Sélection des fichiers locaux :"
 
-#: src/tar.c:615
+#: src/tar.c:622
 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:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr "RÉP"
 
-#: src/tar.c:617
+#: src/tar.c:624
 msgid "change to directory DIR"
 msgstr "Utiliser RÉP comme répertoire de travail"
 
-#: src/tar.c:619
+#: src/tar.c:626
 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:621
+#: src/tar.c:628
 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:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
 "Enlever la protection de caractères des noms de fichiers lus avec « -T » (par "
 "défaut)"
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr ""
 "Ne pas enlever la protection de caractères des noms de fichiers lus avec « -T "
 "»"
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "MOTIF"
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr "Exclure les fichiers correspondant au MOTIF"
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr "Exclure les motifs listés dans le FICHIER"
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1842,95 +1880,95 @@ msgstr ""
 "Exclure le contenu des répertoires contenant CACHEDIR.TAG, sauf le fichier "
 "de tag lui-même"
 
-#: src/tar.c:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "Tout exclure dans les répertoires contenant CACHEDIR.TAG"
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "Exclure les répertoires contenant CACHEDIR.TAG"
 
-#: src/tar.c:639
+#: src/tar.c:648
 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:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
 msgstr "Tout exclure dans les répertoires contenant le FICHIER"
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr "Exclure les répertoires contenant le FICHIER"
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr "Exclure les répertoires de contrôle de version (CVS, .svn, etc.)"
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr "Empêcher la descente automatique dans les sous-répertoires"
 
-#: src/tar.c:650
+#: src/tar.c:659
 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:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr "Parcourir les sous-répertoires de manière récursive (par défaut)"
 
-#: src/tar.c:654
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
 msgstr "Ne pas enlever le « / » au début des noms de fichiers"
 
-#: src/tar.c:656
+#: src/tar.c:665
 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:658
+#: src/tar.c:667
 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:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr "NOM-DE-MEMBRE"
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr "Débuter au NOM-DE-MEMBRE dans l'archive"
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "Stocker seulement les fichiers plus récents que DATE-OU-FICHIER"
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr "DATE"
 
-#: src/tar.c:665
+#: src/tar.c:674
 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:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr "CONTRÔLE"
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 "Faire une copie de sauvegarde avant suppression, choisir le CONTRÔLE de "
 "version"
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr "CHAÎNE"
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -1939,100 +1977,100 @@ msgstr ""
 "habituel (« ~ » sauf s'il est définit par la variable d'environnement "
 "SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr "Transformation des noms de fichiers :"
 
-#: src/tar.c:676
+#: src/tar.c:685
 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:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr "EXPRESSION"
 
-#: src/tar.c:679
+#: src/tar.c:688
 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:684
+#: src/tar.c:694
 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:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr "Ignorer la casse (majuscules/minuscules)"
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr "Les motifs doivent correspondre au début des noms de fichiers"
 
-#: src/tar.c:691
+#: src/tar.c:701
 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:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr "Correspondance sensible à la casse (comportement par défaut)"
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 "Utiliser des caractères de correspondance (par défaut pour l'exclusion)"
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr "Correspondance exacte de chaîne"
 
-#: src/tar.c:699
+#: src/tar.c:709
 msgid "wildcards do not match `/'"
 msgstr "« / » ne correspond à aucun caractère de correspondance"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr ""
 "« / » peut correspondre à un caractère de correspondance (par défaut pour "
 "l'exclusion)"
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr "Options d'affichage :"
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr "Afficher de manière détaillée les fichiers traités"
 
-#: src/tar.c:711
+#: src/tar.c:721
 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:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr "ACTION"
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr "exécuter l'ACTION à chaque point de contrôle"
 
-#: src/tar.c:717
+#: src/tar.c:727
 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:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr "SIGNAL"
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2044,27 +2082,27 @@ msgstr ""
 "sont : SIGHUP, SIGQUIT, SIGINT, SIGUSR1 et SIGUSR2. Les noms sans préfixe « "
 "SIG » sont aussi acceptés"
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr "Afficher les dates de modification de fichier en UTC"
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr "Envoyer la sortie détaillée vers le FICHIER"
 
-#: src/tar.c:728
+#: src/tar.c:738
 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:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr "Demander confirmation pour chaque action"
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr "Afficher les paramètres par défaut de tar"
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2072,33 +2110,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:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr "Afficher les noms des fichiers ou des archives après transformation"
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr "STYLE"
 
-#: src/tar.c:741
+#: src/tar.c:751
 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:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr "Protéger aussi les caractères faisant partie de la CHAÎNE"
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr "Enlever la protection des caractères faisant partie de la CHAÎNE"
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr "Options de compatibilité :"
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2106,56 +2144,56 @@ msgstr ""
 "Lors de la création, identique à « --old-archive ». Lors de l'extraction, "
 "identique à « --no-same-owner »"
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr "Autres options :"
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr "Désactiver certaines options potentiellement néfastes"
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Vous ne pouvez pas sélectionner plus d'une option parmi « -Acdtrux »"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Options de compression non compatibles entre elles"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Type de signal inconnu : %s"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 msgid "Date sample file not found"
 msgstr "Fichier d'échantillon de date non trouvé"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Remplacement par %s du format de date inconnu %s"
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr "Option %s : date « %s » traitée comme %s"
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, c-format
 msgid "%s: file list already read"
 msgstr "%s : la liste de fichiers est déjà lue"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s : le nom de fichier lu contient un caractère nul"
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr "Les arguments valables pour les options « --quoting-style » sont :"
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2163,112 +2201,118 @@ msgstr ""
 "\n"
 "Les valeurs par défaut de *ce* tar sont :\n"
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Facteur de bloc non valable"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 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 » ?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Longueur de cartouche non valable"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Plus d'une date seuil"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr "Version de la dispersion non valable"
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 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:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr "la valeur de « --checkpoint » n'est pas un entier"
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s : groupe non valable"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Mode non valable donné en option"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr "Nombre non valable"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Propriétaire non valable"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Taille d'enregistrement non valable"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, 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:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr "Nombre d'éléments incorrect"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr "Une seule option « --to-command » est permise"
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Argument de densité incorrect : %s"
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
 msgstr "Densité inconnue : « %c »"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, 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:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr "[FICHIER]..."
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "L'ancienne option « %c » a besoin d'un argument."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence n'a pas de sens sans une liste de fichiers"
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr "« --occurrence » ne peut être utilisée dans le mode d'opération demandé"
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 msgid "Multiple archive files require `-M' option"
 msgstr "Les fichiers d'archives multiples ont besoin de l'option « -M »"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "Impossible de combiner « --listed-incremental » avec « --newer »"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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)"
@@ -2277,42 +2321,50 @@ msgstr[0] ""
 msgstr[1] ""
 "%s: l'étiquette du volume est trop longue (la limite est %lu octets)"
 
-#: src/tar.c:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Impossible de vérifier des archives multi-volumes"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Impossible de vérifier des archives compressées"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Impossible d'utiliser des archives multi-volumes compressées"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 msgid "Cannot concatenate compressed archives"
 msgstr "Impossible de concaténer des archives compressées"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 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:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 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:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "Les options « -Aru » sont incompatibles avec « -f - »"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Vous devez choisir une des options « -Acdtrux » "
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Des erreurs ont provoqué l'arrêt du programme"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, c-format
@@ -2321,52 +2373,52 @@ msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s : fichier réduit de %s octet"
 msgstr[1] "%s: fichier réduit de %s octets"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Le mot clé %s est inconnu ou n'est pas encore implémenté"
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Le motif %s ne peut être utilisé"
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Le mot clé %s ne peut pas être surdéfini"
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr "En-tête étendu incorrect : longueur manquante"
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr "La longueur de l'en-tête étendu est hors plage"
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "La longueur de l'en-tête étendu %*s est hors plage"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr "En-tête étendu incorrect : espace blanche manquante après la longueur"
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr "En-tête étendu incorrect : signe d'égalité manquant"
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr "En-tête étendu incorrect : retour à la ligne manquant"
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, 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:780
+#: src/xheader.c:778
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2374,27 +2426,27 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:812
+#: src/xheader.c:810
 #, 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:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "En-tête étendu incorrect : %s=%s non valable"
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "En-tête étendu incorrect : %s=%s en trop"
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, 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:1338
+#: src/xheader.c:1336
 #, 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"
@@ -2574,101 +2626,118 @@ msgstr "Nombre en dehors de la plage permise : %s"
 msgid "Negative size: %s"
 msgstr "Taille négative : %s"
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr "La fonction stat(%s) a échoué"
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Erreur à la lecture du nombre près de « %s »"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, c-format
 msgid "Unknown date format"
 msgstr "Format de date inconnu"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr "[ARGS...]"
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
 msgstr "Impossible d'ouvrir « %s »"
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 msgid "cannot seek"
 msgstr "Impossible à parcourir"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr "Le nom de fichier contient un caractère nul"
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, 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:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "Masque incorrect (près de « %s »)"
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Champ inconnu « %s »"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "Impossible de définir la date de « %s »"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "La commande s'est terminée correctement\n"
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "La commande a échoué avec le code %d\n"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "La commande s'est terminée sur le signal %d\n"
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "La commande s'est interrompue sur le signal %d\n"
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr "La commande a généré un core dump\n"
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr "La commande s'est terminée\n"
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat nécessite un nom de fichier"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr "trop d'arguments"
 
+#, fuzzy
+#~ msgid "cancel effect of the previous --transform-links option"
+#~ msgstr "Annule l'effet de l'option « --delay-directory-restore »"
+
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Des erreurs ont provoqué l'arrêt du programme"
+
 #~ msgid "[.]NUMBER"
 #~ msgstr "[.]NOMBRE"
index c7a0128624841ea5eb14a547fd7649a84d712a36..0b48f034c457a4c9285f89fb9364fda504c23aa3 100644 (file)
Binary files a/po/ga.gmo and b/po/ga.gmo differ
index 88c2b497c453559f304537e8487a9be8dc45cc45..489bbcdbefe539af8539daf5a1847245cc80c7c9 100644 (file)
--- a/po/ga.po
+++ b/po/ga.po
@@ -1,13 +1,13 @@
 # Irish translations for tar.
 # Copyright (C) 2003, 2004 Free Software Foundation, Inc.
-# Kevin Patrick Scannell <scannell@SLU.EDU>, 2003, 2004, 2006, 2007.
-#
+# This file is distributed under the same license as the tar package.
+# Kevin Patrick Scannell <scannell@SLU.EDU>, 2003, 2004, 2006, 2007, 2008.
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.19\n"
+"Project-Id-Version: tar 1.20\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
-"PO-Revision-Date: 2007-10-15 08:53-0600\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
+"PO-Revision-Date: 2008-04-14 21:53-0600\n"
 "Last-Translator: Kevin Scannell <kscanne@gmail.com>\n"
 "Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
@@ -83,7 +83,7 @@ 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"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Seol tuairiscí fabhtanna chuig %s.\n"
@@ -92,15 +92,15 @@ msgstr "Seol tuairiscí fabhtanna chuig %s.\n"
 msgid "Unknown system error"
 msgstr "Earráid anaithnid chórais"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr "taispeáin an chabhair seo"
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr "taispeáin beagán eolais faoin úsáid"
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr "AINM"
@@ -113,11 +113,11 @@ msgstr "socraigh ainm an chláir"
 msgid "SECS"
 msgstr "SOIC"
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr "moill de SOIC soicind (réamhshocrú: 3600)"
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr "taispeáin leagan an chláir"
 
@@ -136,9 +136,9 @@ msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 "(EARRÁID RÍOMHCHLÁIR) Ba chóir aitheantas a thabhairt ar an rogha seo!?"
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
-msgstr ""
+msgstr "earráid sa scríobh"
 
 #: lib/getopt.c:526 lib/getopt.c:542
 #, c-format
@@ -195,19 +195,19 @@ msgstr "%s: Tá an rogha `-W %s' débhríoch\n"
 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"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "cuimhne ídithe"
 
-#: lib/openat-die.c:33
-#, fuzzy, c-format
+#: lib/openat-die.c:35
+#, c-format
 msgid "unable to record current working directory"
-msgstr "Ní féidir an chomhadlann reatha a athrú"
+msgstr "ní féidir an chomhadlann reatha a thaifeadadh"
 
-#: lib/openat-die.c:46
-#, fuzzy, c-format
+#: lib/openat-die.c:48
+#, c-format
 msgid "failed to return to initial working directory"
-msgstr "Ní féidir an chomhadlann reatha a shábháil"
+msgstr "níorbh fhéidir an bhunchomhadlann oibre a aisfhilleadh"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -332,11 +332,23 @@ msgstr "`"
 msgid "'"
 msgstr "'"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr "^[yYiIsS]"
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr "^[nN]"
 
@@ -367,7 +379,7 @@ msgstr "Ní féidir cianbhlaosc a rith"
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
 #: lib/version-etc.c:65
 msgid "(C)"
-msgstr ""
+msgstr "©"
 
 #: lib/version-etc.c:67
 msgid ""
@@ -378,24 +390,30 @@ msgid ""
 "There is NO WARRANTY, to the extent permitted by law.\n"
 "\n"
 msgstr ""
+"\n"
+"Ceadúnas GPLv3+: GNU GPL leagan 3 nó níos nuaí <http://gnu.org/licenses/gpl."
+"html>\n"
+"Is saorbhogearra é seo: ceadaítear duit é a athrú agus a athdháileadh.\n"
+"Níl baránta AR BITH ann, an oiread atá ceadaithe de réir dlí.\n"
+"\n"
 
 #. TRANSLATORS: %s denotes an author name.
 #: lib/version-etc.c:83
 #, c-format
 msgid "Written by %s.\n"
-msgstr ""
+msgstr "Scríofa ag %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #: lib/version-etc.c:87
 #, c-format
 msgid "Written by %s and %s.\n"
-msgstr ""
+msgstr "Scríofa ag %s agus %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #: lib/version-etc.c:91
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
-msgstr ""
+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
@@ -406,6 +424,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "and %s.\n"
 msgstr ""
+"Scríofa ag %s, %s, %s,\n"
+"agus %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -416,6 +436,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "%s, and %s.\n"
 msgstr ""
+"Scríofa ag %s, %s, %s,\n"
+"%s, agus %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -426,6 +448,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, and %s.\n"
 msgstr ""
+"Scríofa ag %s, %s, %s,\n"
+"%s, %s, agus %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -436,6 +460,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, %s, and %s.\n"
 msgstr ""
+"Scríofa ag %s, %s, %s,\n"
+"%s, %s, %s, agus %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -447,6 +473,9 @@ msgid ""
 "%s, %s, %s, %s,\n"
 "and %s.\n"
 msgstr ""
+"Scríofa ag %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"agus %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -458,6 +487,9 @@ msgid ""
 "%s, %s, %s, %s,\n"
 "%s, and %s.\n"
 msgstr ""
+"Scríofa ag %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, agus %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -469,6 +501,9 @@ msgid ""
 "%s, %s, %s, %s,\n"
 "%s, %s, and others.\n"
 msgstr ""
+"Scríofa ag %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, %s, agus daoine eile nach iad.\n"
 
 #: rmt/rmt.c:142
 msgid "Input string too long"
@@ -539,68 +574,58 @@ msgstr "Comhadchríoch gan choinne"
 msgid "Garbage command"
 msgstr "Ordú dramhaíola"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Ní cosúil le cartlann `tar' é seo"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 msgid "Total bytes written"
 msgstr "Bearta scríofa go hiomlán"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr "Bearta léite go hiomlán"
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Bearta scriosta go hiomlán: %s\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(píopa)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "Luach neamhbhailí do record_size"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Ní thugtar ainm na cartlainne"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Ní féidir cartlann stdin/stdout a fhíorú"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Is cartlann chomhbhrúite í seo. Úsáid an rogha %s"
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Ní féidir cartlanna comhbhrúite a nuashonrú"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "Tosach na téipe, ag scor anois"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "An iomarca earráidí, ag scor"
 
-#: src/buffer.c:678
-#, c-format
-msgid "Unaligned block (%lu byte) in archive"
-msgid_plural "Unaligned block (%lu bytes) in archive"
-msgstr[0] "Bloc neamhailínithe (%lu beart) sa chartlann"
-msgstr[1] "Bloc neamhailínithe (%lu bheart) sa chartlann"
-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:698
+#: src/buffer.c:695
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
@@ -610,38 +635,48 @@ msgstr[2] "Méid taifid = %lu bhloc"
 msgstr[3] "Méid taifid = %lu mbloc"
 msgstr[4] "Méid taifid = %lu bloc"
 
-#: src/buffer.c:771
+#: src/buffer.c:716
+#, c-format
+msgid "Unaligned block (%lu byte) in archive"
+msgid_plural "Unaligned block (%lu bytes) in archive"
+msgstr[0] "Bloc neamhailínithe (%lu beart) sa chartlann"
+msgstr[1] "Bloc neamhailínithe (%lu bheart) sa chartlann"
+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:793
 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:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "Níor stopadh rmtlseek ag teorainn taifid"
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: tá uimhir imleabhair neamhbhailí ann"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Uimhir imleabhair thar maoil"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, 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:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "Fuarthas comhadchríoch in áit freagra ón úsáideoir"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "RABHADH: Tá an chartlann neamhiomlán"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -653,66 +688,67 @@ msgstr ""
 " q             Tobscoir tar\n"
 " y nó líne nua Lean ar aghaidh\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Sceith fobhlaosc\n"
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Priontáil an liosta seo\n"
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Níl aon imleabhar nua; ag scor.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr "Ainm an chomhaid gan sonrú. Bain triail eile as.\n"
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Ionchur neamhbhailí. Iontráil ? chun cabhair a fháil.\n"
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, c-format
 msgid "%s command failed"
 msgstr "Theip ar ordú %s"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, 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:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "Ní leanann %s ar an imleabhar seo"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, 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:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Tá an t-imleabhar seo as ord"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Lipéad ar chartlann nach comhoiriúnaithe le %s"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Níl an t-imleabhar %s comhoiriúnaithe le %s"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -720,6 +756,11 @@ msgstr ""
 "%s: ní féidir an comhadainm seo a stóráil i gceanntásc il-imleabhar GNU; "
 "teasctha"
 
+#: src/buffer.c:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "Níor stopadh rmtlseek ag teorainn taifid"
+
 #: src/compare.c:96
 #, c-format
 msgid "Could only read %lu of %lu byte"
@@ -734,8 +775,8 @@ msgstr[4] "Níorbh fhéidir ach %lu de %lu beart a léamh"
 msgid "Contents differ"
 msgstr "Tá difríocht idir na hábhair"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Comhadchríoch gan choinne i gcartlann"
 
@@ -858,7 +899,7 @@ msgstr[4] "%s: %s beart níos lú sa chomhad; ag stuáil le nialais"
 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:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr "ábhar gan dumpáil"
 
@@ -887,7 +928,7 @@ msgstr "%s: is ionann é agus an chartlann féin; gan dumpáil"
 msgid "%s: File removed before we read it"
 msgstr "%s: Scriosadh an comhad sular léadh é"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr "níor dumpáladh an chomhadlann"
 
@@ -939,168 +980,168 @@ msgstr ""
 msgid "Extracting contiguous files as regular files"
 msgstr "Comhaid theorantacha á mbaint amach mar ghnáthchomhaid"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 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:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "%s á léamh\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, 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:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 msgid "Unexpected long name header"
 msgstr "Ceanntásc ainm fada gan choinne"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, 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:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Tá an %s reatha níos nuaí nó ar comhaois"
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Níorbh fhéidir cúltaca a dhéanamh"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Ní féidir %s a athainmniú go %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "Ní féidir biseach a dhéanamh i ndiaidh earráid: ag scor"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Athainmníodh an chomhadlann ó %s"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Athainmníodh an chomhadlann"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Comhadlann nua"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Stampa ama neamhbhailí"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 msgid "Invalid modification time (seconds)"
 msgstr "Am neamhbhailí mionathraithe (soicindí)"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr "Am neamhbhailí mionathraithe (nanashoicindí)"
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Uimhir neamhbhailí gléis"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Uimhir inode as raon"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr "Réimse rófhada agus an comhad roghbhlúire á léamh"
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr "Earráid agus an comhad roghbhlúire á léamh"
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 msgid "Unexpected EOF in snapshot file"
 msgstr "Comhadchríoch gan choinne sa chomhad roghbhlúire"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr "Luach réimse gan choinne sa chomhad roghbhlúire"
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr "Críochnaitheoir taifid ar iarraidh"
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr "Drochfhormáid incriminteach"
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 "Ní thacaítear leis an leagan seo den fhormáid incriminteach: %<PRIuMAX>"
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, 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:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "dumpdir míchumtha: 'X' faoi dhó"
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "dumpdir míchumtha: ainm folamh i 'R'"
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr "dumpdir míchumtha: 'T' gan 'R' roimhe"
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "dumpdir míchumtha: ainm folamh i 'T'"
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, 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:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "dumpdir míchumtha: níor úsáideadh 'X' riamh"
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, 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:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: ní féidir an chomhadlann a stat: gan ghlanadh"
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, 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:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: %s á scriosadh\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Ní féidir scriosadh a dhéanamh"
@@ -1120,19 +1161,19 @@ msgstr "bloc %s: ** bloc de NULanna **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "bloc %s: ** Deireadh comhaid **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "bloc %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1140,68 +1181,68 @@ msgstr ""
 "ag glacadh le comhlánú dénártha"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:728
+#: src/list.c:737
 #, 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:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Tá ceanntásca le bunuimhir 64 i léig sa chartlann"
 
-#: src/list.c:763
+#: src/list.c:772
 #, 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:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, 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:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " nasc le %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " cineál anaithnid comhaid %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Nasc Fada--\n"
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Ainm Fada--\n"
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Ceanntásc Imleabhair--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Ar lean ag beart %s--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Comhadlann á cruthú:"
 
@@ -1238,24 +1279,24 @@ msgstr "bealach idir próisis"
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr "Aimsíodh saoróga in ainmneacha comhaid."
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
-msgstr "Úsáid --wildcards chun meaitseáil patrún a chumasú, nó --no-wildcards"
+msgstr "Úsáid --wildcards chun comhoiriúnú patrún a chumasú, nó --no-wildcards"
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr "chun an rabhadh seo a mhúchadh."
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Ní sa chartlann é"
 
-#: src/names.c:621
+#: src/names.c:615
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Níl rud riachtanach sa chartlann"
@@ -1263,7 +1304,7 @@ msgstr "%s: Níl rud riachtanach sa chartlann"
 #: src/tar.c:79
 #, c-format
 msgid "Options `-%s' and `-%s' both want standard input"
-msgstr "Tá gá leis an ionchur caighdeánach ar na roghanna `-%s' agus `-%s'"
+msgstr "Tá an gnáth-ionchur de dhíth ar na roghanna `-%s' agus `-%s'"
 
 #: src/tar.c:156
 #, c-format
@@ -1282,7 +1323,7 @@ msgstr ""
 "Stíl anaithnid athfhriotail `%s'. Bain triail as `%s --quoting-style=help' "
 "chun liosta a fheiceáil."
 
-#: src/tar.c:334
+#: src/tar.c:336
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1302,7 +1343,7 @@ msgstr ""
 "(foclach).\n"
 "  tar -xf cartlann.tar        # Bain gach comhad amach as cartlann.tar.\n"
 
-#: src/tar.c:343
+#: src/tar.c:345
 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 "
@@ -1324,87 +1365,87 @@ msgstr ""
 "bhfuil\n"
 "  never, simple   déan cúltacaí simplí i gcónaí\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr "Príomh-mhód oibre:"
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr "taispeáin an t-ábhar i gcartlann"
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr "bain comhaid as cartlann"
 
-#: src/tar.c:377
+#: src/tar.c:379
 msgid "create a new archive"
 msgstr "cruthaigh cartlann nua"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr "taispeáin difríochtaí idir cartlann agus córas comhaid"
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr "iarcheangail le deireadh cartlainne"
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr "ná hiarcheangail ach comhaid mhionathraithe leis an gcartlann"
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr "iarcheangail comhaid tar le cartlann"
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "scrios as an gcartlann (nach ar théipeanna maighnéadacha!)"
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr "tástáil lipéad imleabhair na cartlainne agus scoir"
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr "Mionathraitheoirí oibríochta:"
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr "caith le gannchomhaid go héifeachtach"
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr "PRÍOMH[.MION]"
 
-#: src/tar.c:401
+#: src/tar.c:403
 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:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr "déan cúltaca incriminteach de shean-nós GNU"
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr "COMHAD"
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr "déan cúltaca incriminteach nua-aoise GNU"
 
-#: src/tar.c:407
+#: src/tar.c:409
 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:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr "UIMHIR"
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1416,119 +1457,122 @@ 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:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr "tá an chartlann inchuardaithe"
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
+"ná seiceáil uimhreacha gléasanna agus cartlanna incriminteacha á gcruthú"
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
+"seiceáil uimhreacha gléasanna agus cartlanna incriminteacha á gcruthú "
+"(réamhshocrú)"
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr "Rialú forscríofa:"
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr "fíoraigh an chartlann i ndiaidh ag scríobh"
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr "scrios comhaid i ndiaidh iad a chur leis an gcartlann"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr "ná forscríobh comhaid atá ann le linn baint amach"
 
-#: src/tar.c:435
+#: src/tar.c:437
 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:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr "forscríobh comhaid atá ann le linn baint amach"
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr "scrios gach comhaid sula scríobhtar air"
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr "folmhaigh géagchóras sula mbaintear comhadlann amach"
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr "ná forscríobh meiteashonraí comhadlainne"
 
-#: src/tar.c:445
+#: src/tar.c:447
 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:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr "Roghnaigh sruth aschurtha:"
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
-msgstr "bain comhaid amach agus scríobh ar aschur caighdeánach"
+msgstr "bain comhaid amach agus scríobh ar an ngnáth-aschur"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr "ORDÚ"
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr "píopaigh comhaid bhainte go ríomhchlár eile"
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr "ná bac le cóid scortha na macphróiseas"
 
-#: src/tar.c:460
+#: src/tar.c:462
 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:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr "Tréithe comhaid á láimhseáil:"
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr "éiligh AINM mar úinéir de chomhaid bhreise"
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr "éiligh AINM mar ghrúpa de chomhaid bhreise"
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr "DÁTA-NÓ-COMHAD"
 
-#: src/tar.c:472
+#: src/tar.c:474
 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:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr "ATHRUITHE"
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "déan ATHRUITHE ar mhód de chomhaid bhreise"
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr "MODH"
 
-#: src/tar.c:477
+#: src/tar.c:479
 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 "
@@ -1538,27 +1582,27 @@ 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:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr "ná bain am mionathraithe an chomhaid"
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr "bain triail as úinéireacht a choinneáil"
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr "bain comhaid amach mar thusa féin"
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr "bain úsáid as uimhreacha d'ainmneacha úsáideora/grúpa"
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr "bain eolas faoi cheadanna (réamhshocrú don fhorúsáideoir)"
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1566,15 +1610,15 @@ msgstr ""
 "cuir umask an úsáideora i bhfeidhm agus ceadanna á mbaint ón chartlann "
 "(réamhshocrú do ghnáthúsáideoirí)"
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr "sórtáil ainmneacha le cur in oiriúint"
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr "ar comhbhrí le -p agus -s araon"
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1582,139 +1626,139 @@ msgstr ""
 "ná socraigh amanna mionathraithe ná ceadanna de na comhadlanna go dtí go "
 "bhfuil an bhaint curtha i gcrích"
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "cealaigh an éifeacht de rogha --delay-directory-restore"
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr "Roghnú gléis agus malartú:"
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr "CARTLANN"
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr "bain úsáid as cartlann chomhaid nó gléas CARTLANN"
 
-#: src/tar.c:513
+#: src/tar.c:515
 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:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "bain úsáid as ORDÚ in ionad rmt"
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr "bain úsáid as ORDÚ cian in ionad rsh"
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr "sonraigh tiomántán agus a dhlús"
 
-#: src/tar.c:535
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
 msgstr "cruthaigh/liostaigh/bain amach cartlann le hiliomad imleabhair"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "athraigh téip i ndiaidh UIMHIR × 1024 beart"
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr "rith script i ndiaidh gach téip (-M intuigthe)"
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr "úsáid/nuashonraigh an uimhir imleabhair i gCOMHAD"
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr "Blocáil ghléis:"
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr "BLOIC"
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOIC × 512 beart sa taifead"
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "UIMHIR beart sa taifead, iolraí de 512"
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "déan neamhshuim ar bhloic nialasacha sa chartlann (is ionann le EOF)"
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "athbhlocáil le linn léimh (le píopaí 4.2BSD)"
 
-#: src/tar.c:561
+#: src/tar.c:563
 msgid "Archive format selection:"
 msgstr "Roghnú formáide:"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr "FORMÁID"
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr "cruthaigh cartlann san fhormáid seo"
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr "Is FORMÁID ceann de na rudaí seo:"
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr "seanfhormáid V7 tar"
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr "formáid de réir GNU tar <= 1.12"
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr "formáid de réir GNU tar 1.13"
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "formáid POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "formáid POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr "ar comhbhrí le pax"
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr "is ionann le --format=v7"
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr "is ionann le --format=posix"
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "lorgfhocal[[:]=luach][,lorgfhocal[[:]=luach]]..."
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr "rialaigh lorgfhocail pax"
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr "TÉACS"
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1722,88 +1766,100 @@ 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:592
-#, fuzzy
+#: src/tar.c:594
 msgid "Compression options:"
-msgstr "Roghanna contrártha comhbhrúite"
+msgstr "Roghanna comhbhrúite:"
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
-msgstr ""
+msgstr "úsáid iarmhír na cartlainne chun an modh comhbhrúite a dhéanamh amach"
 
-#: src/tar.c:596
+#: src/tar.c:598
+#, fuzzy
+msgid "do not use 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:601
 msgid "filter the archive through bzip2"
 msgstr "scag an chartlann le bzip2"
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr "scag an chartlann le gzip"
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr "scag an chartlann le compress"
 
-#: src/tar.c:605
-#, fuzzy
+#: src/tar.c:610
 msgid "filter the archive through lzma"
+msgstr "scag an chartlann le lzma"
+
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
 msgstr "scag an chartlann le gzip"
 
-#: src/tar.c:606
+#: src/tar.c:613
 msgid "PROG"
 msgstr "CLÁR"
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr "scag le CLÁR (ní foláir -d)"
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr "Roghnú comhaid logánta:"
 
-#: src/tar.c:615
+#: src/tar.c:622
 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:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr "COMHADLANN"
 
-#: src/tar.c:617
+#: src/tar.c:624
 msgid "change to directory DIR"
 msgstr "athraigh go dtí COMHADLANN"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr "tóg ainmneacha le baint/cruthú as comhad COMHAD"
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr "léigh ainmneacha, foirceanta le NULanna; múch -C"
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
 "bain comharthaí athfhriotail ó chomhadainmneacha a léadh le -T (réamhshocrú)"
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr "ná bain comharthaí athfhriotail ó chomhadainmneacha a léadh le -T"
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "PATRÚN"
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr "fág comhaid as an áireamh, tugtha mar PHATRÚN"
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr "fág as an áireamh aon phatrún atá i gCOMHAD"
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1811,92 +1867,90 @@ msgstr ""
 "gabh thar ábhar na gcomhadlann ina bhfuil CACHEDIR.TAG, seachas an comhad "
 "clibe féin"
 
-#: src/tar.c:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "gabh thar gach rud faoi chomhadlanna ina bhfuil CACHEDIR.TAG"
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "gabh thar chomhadlanna ina bhfuil CACHEDIR.TAG"
 
-#: src/tar.c:639
+#: src/tar.c:648
 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:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
 msgstr "gabh thar gach rud faoi chomhadlanna ina bhfuil COMHAD"
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr "gabh thar chomhadlanna a bhfuil COMHAD iontu"
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr "gabh thar chomhadlanna a bhaineann le córas rialaithe foinsí"
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr "ná téigh isteach i bhfochomhadlanna go huathoibríoch"
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr "ná fág an córas comhaid seo agus cartlann á cruthú"
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr "téigh isteach i gcomhadlanna (réamhshocrú)"
 
-#: src/tar.c:654
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
 msgstr "ná struipeáil `/' tosaigh ó ainmneacha comhaid"
 
-#: src/tar.c:656
+#: src/tar.c:665
 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:658
-#, fuzzy
+#: src/tar.c:667
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
-"lean naisc shiombalacha; cartlannaigh agus dumpáil na comhaid a nascann na "
-"naisc leo"
+"lean naisc chrua; cartlannaigh agus dumpáil na comhaid a nascann na naisc leo"
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr "AINM-BAILL"
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr "tosaigh ag ball AINM-BAILL sa chartlann"
 
-#: src/tar.c:662
+#: src/tar.c:671
 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:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr "DÁTA"
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr "déan comparáid le dáta/am modhnaithe"
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr "MODH"
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr "déan cúltaca sula scriostar, roghnaigh modh oibre maidir le leaganacha"
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr "TEAGHRÁN"
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -1904,92 +1958,92 @@ 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:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr "Trasfhoirmiú ainmneacha comhaid:"
 
-#: src/tar.c:676
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "struipeáil UIMHIR comhpháirt tosaigh ó ainmneacha comhaid"
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr "SLONN"
 
-#: src/tar.c:679
+#: src/tar.c:688
 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:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
-"Roghanna maidir le meaitseáil ainmneacha comhaid (cuirfear iad seo i "
+"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:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr "ná bí cásíogair"
 
 # subject is "exclude patterns"
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
-msgstr "meaitseálann patrúin le tosach d'ainmneacha comhaid"
+msgstr "comhoiriúnaíonn patrúin do thosach ainm an chomhaid"
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
-msgstr "meaitseálann patrúin tar éis gach `/' (réamhshocrú i gcás eisiata)"
+msgstr "comhoiriúnaíonn patrúin tar éis gach `/' (réamhshocrú i gcás eisiata)"
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr "dealaigh idir litreacha beaga/móra (réamhshocrú)"
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr "úsáid saoróga (réamhshocrú do phatrúin eisiata)"
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
-msgstr "meaitseáil teaghráin carachtar ar charachtar"
+msgstr "comhoiriúnú teaghráin carachtar ar charachtar"
 
-#: src/tar.c:699
+#: src/tar.c:709
 msgid "wildcards do not match `/'"
 msgstr "ní ghlacann saoróga le `/'"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
-msgstr "meaitseálann saoróga le `/' (réamhshocrú le patrúin eisiata)"
+msgstr "comhoiriúnaíonn saoróga do `/' (réamhshocrú le patrúin eisiata)"
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr "Aschur faisnéiseach:"
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr "taispeáin gach comhad atá próiseáilte, go foclach"
 
-#: src/tar.c:711
+#: src/tar.c:721
 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:713
+#: src/tar.c:723
 msgid "ACTION"
-msgstr ""
+msgstr "GNÍOMH"
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
-msgstr ""
+msgstr "déan GNÍOMH ag gach seicphointe"
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr "taispeáin eolas mura bhfuil gach nasc dumpáilte"
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr "COMHARTHA"
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2001,61 +2055,61 @@ 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:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr "taispeáin dátaí mionathraithe de réir UTC"
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr "scríobh aschur foclach i gCOMHAD"
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr "taispeáin bloc sa chartlann le gach teachtaireacht"
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr "iarr deimhniú ar gach gníomh"
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr "taispeáin réamhshocruithe tar"
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
-"agus á liostú nó á bhaint amach, taispeáin gach comhadlann nach meaitseálann "
-"leis an gcuardach"
+"agus á liostú nó á bhaint amach, taispeáin gach comhadlann nach bhfuil "
+"comhoiriúnaithe don chuardach"
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr "taispeáin ainmneacha comhaid/cartlainne i ndiaidh trasfhoirmithe"
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr "STÍL"
 
-#: src/tar.c:741
+#: src/tar.c:751
 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:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr "cuir carachtair athfhriotail timpeall na carachtair ó TEAGHRÁN"
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr "ná húsáid comharthaí athfhriotail timpeall carachtair ó TEAGHRÁN"
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr "Roghanna Comhoiriúnachta:"
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2063,56 +2117,56 @@ msgstr ""
 "is ionann le --old-archive le linn cruthaithe; is ionann le --no-same-owner "
 "le linn baint"
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr "Roghanna eile:"
 
-#: src/tar.c:761
+#: src/tar.c:771
 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:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Ná tabhair ach ceann de na roghanna `-Acdtrux'"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Roghanna contrártha comhbhrúite"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Comhartha anaithnid: %s"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 msgid "Date sample file not found"
 msgstr "Comhad samplach dáta gan aimsiú"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, 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:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr "Rogha %s: Ag caitheamh le dáta `%s' mar %s"
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, c-format
 msgid "%s: file list already read"
 msgstr "%s: léadh an liosta comhad cheana"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: tá carachtar nialasach sa chomhadainm a léadh"
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr "Argóintí bailí do roghanna --quoting-style:"
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2120,109 +2174,115 @@ msgstr ""
 "\n"
 "Luachanna réamhshocraithe don tar *seo*:\n"
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Fachtóir bacainneach neamhbhailí"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr "Rabhadh: níl an rogha -I ar fáil; ar mhaith leat -j nó -T?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Fad téipe neamhbhailí"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Níos mó ná spriocdháta amháin"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr "Leagan neamhbhailí ar fhormáid na ngannchomhad"
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 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:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr "ní mór do luach --checkpoint a bheith ina slánuimhir"
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: Grúpa neamhbhailí"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Mód neamhbhailí ar rogha"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr "Uimhir neamhbhailí"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Úinéir neamhbhailí"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Méid taifid neamhbhailí"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, 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:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr "Tá líon na mball neamhbhailí"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr "Ní cheadaítear ach aon rogha --to-command amháin"
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Tá an argóint dlúis míchumtha: %s"
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
 msgstr "Dlús anaithnid: `%c'"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, 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:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr "[COMHAD]..."
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "Tá gá le hargóint ar an seanrogha `%c'."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr "tá an rogha --occurrence gan bhrí in éagmais liosta comhad"
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr "níl an rogha --occurrence ar fáil sa mhód iarrtha"
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 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:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "Ní féidir --listed-incremental a úsáid le --newer"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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)"
@@ -2232,42 +2292,50 @@ 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Ní féidir cartlanna le hiliomad imleabhair a fhíorú"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Ní féidir cartlanna comhbhrúite a fhíorú"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Ní féidir úsáid a bhaint as cartlanna il-ranna comhbhrúite"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 msgid "Cannot concatenate compressed archives"
 msgstr "Ní féidir cartlanna comhbhrúite a iarcheangal"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 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:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Ní chruthófar cartlann fholamh (go cladhartha)"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "Níl na roghanna `-Aru' ar fáil in éineacht le `-f -'"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Ní foláir rogha amháin de `-Acdtrux' ar a laghad"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Earráid; tobscor moillithe ó earráidí roimhe seo"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, c-format
@@ -2279,106 +2347,104 @@ msgstr[2] "%s: Chrap an comhad %s bheart"
 msgstr[3] "%s: Chrap an comhad %s mbeart"
 msgstr[4] "%s: Chrap an comhad %s beart"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Tá an lorgfhocal %s anaithnid nó nach bhfuil sé curtha i bhfeidhm fós"
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Ní féidir an patrún %s a úsáid"
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Ní féidir an lorgfhocal %s a shárú"
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr "Ceanntásc míchumtha breisithe: fad ar iarraidh"
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr "Fad an cheanntáisc breisithe as raon"
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Fad %*s as raon sa cheanntásc breisithe"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr "Ceanntásc míchumtha breisithe: spás bán ar iarraidh tar éis an fhaid"
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr "Ceanntásc míchumtha breisithe: sín chothroime ar iarraidh"
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr "Ceanntásc míchumtha breisithe: líne nua ar iarraidh"
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr ""
-"Eochairfhocal anaithnid `%s' sa cheanntásc breisithe; ag déanamh neamhshuim "
-"air"
+"Lorgfhocal anaithnid `%s' sa cheanntásc breisithe; ag déanamh neamhshuim air"
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
-"Tá an péire a cruthaíodh (eochairfhocal/luach) rófhada (eochairfhocal=%s, "
-"fad=%s)"
+"Tá an péire a cruthaíodh (lorgfhocal/luach) rófhada (lorgfhocal=%s, fad=%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:812
+#: src/xheader.c:810
 #, 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:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Ceanntásc míchumtha breisithe: %s=%s neamhbhailí"
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Ceanntásc míchumtha breisithe: %s=%s sa bhreis"
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, 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:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Ceanntásc míchumtha breisithe: %s neamhbhailí: corruimhir de luachanna"
 
 #: src/checkpoint.c:107
-#, fuzzy, c-format
+#, c-format
 msgid "%s: not a valid timeout"
-msgstr "%s: Grúpa neamhbhailí"
+msgstr "%s: teorainn ama neamhbhailí"
 
 #: src/checkpoint.c:112
 #, c-format
 msgid "%s: unknown checkpoint action"
-msgstr ""
+msgstr "%s: gníomh anaithnid seicphointe"
 
 #: src/checkpoint.c:132
 msgid "write"
-msgstr ""
+msgstr "scríobh"
 
 #: src/checkpoint.c:132
 msgid "read"
-msgstr ""
+msgstr "léamh"
 
 #. TRANSLATORS: This is a ``checkpoint of write operation'',
 #. *not* ``Writing a checkpoint''.
@@ -2421,7 +2487,7 @@ msgstr "Cruthaigh comhad leis an MÉID seo"
 
 #: tests/genfile.c:130
 msgid "Write to file NAME, instead of standard output"
-msgstr "Scríobh i gcomhad AINM, in ionad an aschuir chaighdeánaigh"
+msgstr "Scríobh i gcomhad AINM, in ionad an ghnáth-aschuir"
 
 #: tests/genfile.c:132
 msgid "Read file names from FILE"
@@ -2533,102 +2599,118 @@ msgstr "Uimhir as raon: %s"
 msgid "Negative size: %s"
 msgstr "Méid diúltach: %s"
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr "theip ar stat(%s)"
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Earráid agus uimhir á parsáil i ngar do `%s'"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, c-format
 msgid "Unknown date format"
 msgstr "Formáid anaithnid ar an dáta"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr "[ARGÓINTÍ...]"
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
 msgstr "ní féidir `%s' a oscailt"
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 msgid "cannot seek"
 msgstr "ní féidir 'seek' a dhéanamh"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr "tá carachtar nialasach sa chomhadainm"
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
-"ní féidir gannchomhaid a chruthú ar an aschur caighdeánach; úsáid rogha --"
-"file"
+"ní féidir gannchomhaid a chruthú ar an ngnáth-aschur; úsáid rogha --file"
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "masc mícheart (i ngar do `%s')"
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Réimse anaithnid `%s'"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "ní féidir an t-am a shocrú ar `%s'"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "D'éirigh leis an ordú\n"
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Theip ar an ordú le stádas %d\n"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Stopadh an t-ordú le comhartha %d\n"
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Stopadh an t-ordú ar chomhartha %d\n"
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Rinne an t-ordú córdhumpa\n"
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr "Ordú críochnaithe\n"
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, c-format
 msgid "--stat requires file names"
 msgstr "Tá ainmneacha comhaid de dhíth ar --stat"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr "an iomarca argóintí"
 
+#, fuzzy
+#~ msgid "cancel effect of the previous --transform-links option"
+#~ msgstr "cealaigh an éifeacht de rogha --delay-directory-restore"
+
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Earráid; tobscor moillithe ó earráidí roimhe seo"
+
 #~ msgid "[.]NUMBER"
 #~ msgstr "[.]UIMHIR"
 
index 6bed45d943af456dabde5b39b5cbada4e130f3a9..a4a575f0988840719d213d0d035705e0770e1dc2 100644 (file)
Binary files a/po/gl.gmo and b/po/gl.gmo differ
index 2b1cbdce2bfe52840fd1a25eedd610095dc91f54..0af525bf37838b0f30aec8769cf7644d3e56d08d 100644 (file)
--- a/po/gl.po
+++ b/po/gl.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.13.25\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\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"
@@ -80,7 +80,7 @@ msgstr ""
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr "Escriba '%s --help' para máis información.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, fuzzy, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
@@ -92,15 +92,15 @@ msgstr ""
 msgid "Unknown system error"
 msgstr "Erro do sistema descoñecido"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr ""
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr ""
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr ""
@@ -113,11 +113,11 @@ msgstr ""
 msgid "SECS"
 msgstr ""
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr ""
 
@@ -135,7 +135,7 @@ msgstr "%s: a opci
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr ""
 
@@ -194,16 +194,16 @@ msgstr "%s: a opci
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: a opción \"-W %s\" non admite un argumento\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "memoria esgotada"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Non se puido obte-lo directorio actual"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Non se pode armacena-lo directorio de traballo"
@@ -323,11 +323,23 @@ msgstr "\""
 msgid "'"
 msgstr "\""
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr ""
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr ""
 
@@ -530,103 +542,103 @@ msgstr "Fin de ficheiro prematura"
 msgid "Garbage command"
 msgstr "Comando lixo"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Isto non semella un arquivo tar"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 #, fuzzy
 msgid "Total bytes written"
 msgstr "Bytes totais escritos: %s (%sB, %sB/s)\n"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr ""
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, fuzzy, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Bytes totais escritos: %s (%sB, %sB/s)\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(canalización)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "Valor non válido para record_size"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Non se proporcionou o nome do arquivo"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Non se poden verifica-los arquivos da entrada/saída estándar"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr ""
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Non se poden actualiza-los arquivos comprimidos"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "No comezo da cinta, saíndo agora"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Demasiados erros, saíndo"
 
-#: src/buffer.c:678
-#, 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:698
+#: src/buffer.c:695
 #, 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:771
+#: src/buffer.c:716
+#, 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:793
 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:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: contén un número de volume non válido"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Desbordamento no número de volume"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Prepare o volume #%d para %s e prema enter: "
 
-#: src/buffer.c:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "Chegouse á fin de ficheiro onde se esperaba unha resposta do usuario"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "AVISO: O arquivo está incompleto"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -638,69 +650,75 @@ msgstr ""
 " !          Executar outro intérprete de comandos\n"
 " ?          Amosar esta lista\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Non hai novos volumes; saíndo.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, fuzzy, c-format
 msgid "%s command failed"
 msgstr "O comando \"%s\" fallou"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, 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:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s non continúa neste volume"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s ten un tamaño incorrecto (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Este volume está fora da secuencia"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "O arquivo non está etiquetado para coincidir con %s"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "O volume %s non coincide con %s"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 
+#: src/buffer.c:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "A fin do ficheiro (EOF) do arquivo %s non se atopa no límite do bloque"
+
 #: src/compare.c:96
 #, fuzzy, c-format
 msgid "Could only read %lu of %lu byte"
@@ -712,8 +730,8 @@ msgstr[1] "So se puido ler %lu de %lu bytes"
 msgid "Contents differ"
 msgstr "O contido é diferente"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Fin de ficheiro inesperado no arquivo"
 
@@ -831,7 +849,7 @@ msgstr[1] "%s: O ficheiro encolleu %s bytes; enchendo con ceros"
 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:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 #, fuzzy
 msgid "contents not dumped"
 msgstr " (memoria volcada)"
@@ -861,7 +879,7 @@ msgstr "%s: o ficheiro 
 msgid "%s: File removed before we read it"
 msgstr "%s: Ficheiro eliminado antes da súa lectura"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr ""
 
@@ -912,171 +930,171 @@ msgstr "%s: Renomeouse o directorio antes de poder estrae-lo seu estado"
 msgid "Extracting contiguous files as regular files"
 msgstr "Extraendo os ficheiros contiguos coma ficheiros normais"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Tentando extrae-las ligazóns simbólicas coma ligazóns duras"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Lendo %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, 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:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "Fin de ficheiro (EOF) inesperado no arquivo"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, fuzzy, 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:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr ""
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Non se puido copiar este ficheiro"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, fuzzy, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s: Non se pode renomear a %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "O erro non é recuperable: sáese agora"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, fuzzy, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Renomeouse o directorio"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Renomeouse o directorio"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: O directorio é novo"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Marca de tempo non válida"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 #, fuzzy
 msgid "Invalid modification time (seconds)"
 msgstr "Proporcionouse na opción un modo non válido"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr ""
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Número de dispositivo non válido"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Número de inode non válido"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr ""
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 #, fuzzy
 msgid "Read error in snapshot file"
 msgstr "Erro de lectura en %s"
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "Fin de ficheiro (EOF) inesperado no arquivo"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 #, fuzzy
 msgid "Unexpected field value in snapshot file"
 msgstr "Fin de ficheiro (EOF) inesperado no arquivo"
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr ""
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr ""
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr ""
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr ""
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, 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:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr ""
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, 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:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Borrando %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Non se pode eliminar"
@@ -1096,20 +1114,20 @@ msgstr "bloque %s: ** Bloque de nulos **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "bloque %s: ** Fin de Ficheiro **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "bloque %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1117,68 +1135,68 @@ msgstr ""
 "a 2"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:728
+#: src/list.c:737
 #, 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:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "O arquivo contén cabeceiras base-64 obsoletas"
 
-#: src/list.c:763
+#: src/list.c:772
 #, 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:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, 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:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " ligazón a %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " Tipo de ficheiro %s descoñecido\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr ""
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr ""
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Cabeceira de Volume--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Continúa no byte %s--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Creando o directorio:"
 
@@ -1215,24 +1233,24 @@ msgstr "canle interproceso"
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr ""
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr ""
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Non atopado no arquivo"
 
-#: src/names.c:621
+#: src/names.c:615
 #, fuzzy, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Non atopado no arquivo"
@@ -1257,7 +1275,7 @@ msgid ""
 "Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
 msgstr ""
 
-#: src/tar.c:334
+#: src/tar.c:336
 #, fuzzy
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
@@ -1278,7 +1296,7 @@ msgstr ""
 "                               # dando moitos datos\n"
 "  %s -xf arquivo.tar           # Extraer tódolos ficheiros de arquivo.tar.\n"
 
-#: src/tar.c:343
+#: src/tar.c:345
 #, fuzzy
 msgid ""
 "The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
@@ -1300,87 +1318,87 @@ msgstr ""
 "  nil, existing   numera se existen copias de seguridade numeradas\n"
 "  never, simple   sempre fai copias de seguridade sinxelas\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr ""
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr ""
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr ""
 
-#: src/tar.c:377
+#: src/tar.c:379
 #, fuzzy
 msgid "create a new archive"
 msgstr "Fin de ficheiro inesperado no arquivo"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr ""
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr ""
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr ""
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr ""
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr ""
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr ""
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr ""
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr ""
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr ""
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr ""
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1388,561 +1406,574 @@ msgid ""
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr ""
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr ""
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr ""
 
-#: src/tar.c:431
+#: src/tar.c:433
 #, fuzzy
 msgid "remove files after adding them to the archive"
 msgstr "Borrando a especificación de unidade dos nomes do arquivo"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr ""
 
-#: src/tar.c:435
+#: src/tar.c:437
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 
-#: src/tar.c:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr ""
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr ""
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr ""
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr ""
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr ""
 
-#: src/tar.c:454
+#: src/tar.c:456
 #, fuzzy
 msgid "extract files to standard output"
 msgstr "Erro ao gravar na saída estándar"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr ""
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr ""
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr ""
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr ""
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr ""
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr ""
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:472
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr ""
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr ""
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr ""
 
-#: src/tar.c:477
+#: src/tar.c:479
 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:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr ""
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr ""
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr ""
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr ""
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr ""
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr ""
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr ""
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr ""
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr ""
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
 msgstr ""
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr ""
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr ""
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr ""
 
-#: src/tar.c:535
+#: src/tar.c:537
 #, fuzzy
 msgid "create/list/extract multi-volume archive"
 msgstr "Non se pode verifica-los arquivos multi-volume"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr ""
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr ""
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr ""
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr ""
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr ""
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr ""
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr ""
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr ""
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr ""
 
-#: src/tar.c:561
+#: src/tar.c:563
 #, fuzzy
 msgid "Archive format selection:"
 msgstr "Arquivar da entrada estándar"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr ""
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr ""
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr ""
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr ""
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr ""
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr ""
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr ""
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr ""
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr ""
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr ""
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr ""
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
 
-#: src/tar.c:592
+#: src/tar.c:594
 #, fuzzy
 msgid "Compression options:"
 msgstr "Opcións de compresión conflictivas"
 
-#: src/tar.c:594
+#: src/tar.c:596
 #, fuzzy
 msgid "use archive suffix to determine the compression program"
 msgstr "Non se puido escribir no programa de compresión"
 
-#: src/tar.c:596
+#: src/tar.c:598
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr ""
 
-#: src/tar.c:598
+#: src/tar.c:603
 #, fuzzy
 msgid "filter the archive through gzip"
 msgstr "%s: o ficheiro é o arquivo; non se envorca"
 
-#: src/tar.c:602
+#: src/tar.c:607
 #, fuzzy
 msgid "filter the archive through compress"
 msgstr "%s: o ficheiro é o arquivo; non se envorca"
 
-#: src/tar.c:605
+#: src/tar.c:610
 #, fuzzy
 msgid "filter the archive through lzma"
 msgstr "%s: o ficheiro é o arquivo; non se envorca"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "%s: o ficheiro é o arquivo; non se envorca"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr ""
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr ""
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr ""
 
-#: src/tar.c:615
+#: src/tar.c:622
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 
-#: src/tar.c:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr ""
 
-#: src/tar.c:617
+#: src/tar.c:624
 #, fuzzy
 msgid "change to directory DIR"
 msgstr "Non se pode cambia-lo directorio de traballo"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr ""
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr ""
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr ""
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr ""
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr ""
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr ""
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr ""
 
-#: src/tar.c:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/tar.c:639
+#: src/tar.c:648
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 
-#: src/tar.c:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
 msgstr ""
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr ""
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr ""
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr ""
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr ""
 
-#: src/tar.c:654
+#: src/tar.c:663
 #, fuzzy
 msgid "don't strip leading `/'s from file names"
 msgstr "Eliminadndo o \"%.*s\" inicial dos nomes dos membros"
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:658
+#: src/tar.c:667
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr ""
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr ""
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr ""
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr ""
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr ""
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr ""
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:676
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/tar.c:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr ""
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr ""
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr ""
 
-#: src/tar.c:699
+#: src/tar.c:709
 #, fuzzy
 msgid "wildcards do not match `/'"
 msgstr "O volume %s non coincide con %s"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr ""
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1950,268 +1981,282 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr ""
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr ""
 
-#: src/tar.c:730
+#: src/tar.c:740
 #, fuzzy
 msgid "ask for confirmation for every action"
 msgstr "Non se puido le-la confirmación do usuario"
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr ""
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr ""
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Non pode especificar máis dunha das opcións \"-Acdtrux\""
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Opcións de compresión conflictivas"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr " Tipo de ficheiro %s descoñecido\n"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 #, fuzzy
 msgid "Date sample file not found"
 msgstr "Non se atopou o ficheiro de data"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, 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:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr ""
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, fuzzy, c-format
 msgid "%s: file list already read"
 msgstr "%s: o ficheiro é o arquivo; non se envorca"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr ""
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Factor de bloqueo non válido"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr "Aviso: a opción -I non está soportada; ¿quería dicir -j ou -T?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Lonxitude da fita non válida"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Máis dunha data de umbral"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: Grupo non válido"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Proporcionouse na opción un modo non válido"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 #, fuzzy
 msgid "Invalid number"
 msgstr "Número de inode non válido"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Propietario non válido"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Tamaño de rexistro non válido"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, 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:1834
+#: src/tar.c:1873
 #, fuzzy
 msgid "Invalid number of elements"
 msgstr "Lonxitude da fita non válida"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, fuzzy, c-format
 msgid "Unknown density: `%c'"
 msgstr "Patrón descoñecido `%s'"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, 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:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr ""
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "A antiga opción \"%c\" precisa dun argumento."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr ""
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 #, fuzzy
 msgid "Multiple archive files require `-M' option"
 msgstr "Varios ficheiros de arquivo requiren a opción \"-M\""
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "Non se pode combinar --listed-incremental con --newer"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Non se pode verifica-los arquivos multi-volume"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Non se poden verifica-los arquivos comprimidos"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Non se poden empregar arquivos comprimidos multi-volume"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "Non se poden actualiza-los arquivos comprimidos"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "De xeito cobarde rexéitase crear un ficheiro baleiro"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "As opcións \"-Aru\" son incompatibles con \"-f -\""
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Debe especificar unha das opcións \"-Acdtrux\""
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Saída por erro retrasada dos erros anteriores"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, fuzzy, c-format
@@ -2220,79 +2265,79 @@ msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: O ficheiro encolleu %s bytes"
 msgstr[1] "%s: O ficheiro encolleu %s bytes"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr ""
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr ""
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr ""
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr ""
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr ""
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, fuzzy, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "A cadea base-64 asinada do arquivo %s está fóra do rango de %s"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr ""
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr ""
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr ""
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, 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:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr ""
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr ""
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2456,97 +2501,107 @@ msgstr "N
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Erro do sistema descoñecido"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, fuzzy, c-format
 msgid "cannot open `%s'"
 msgstr "Non se puido abrir %s"
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 #, fuzzy
 msgid "cannot seek"
 msgstr "Non se pode pechar"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr "Patrón descoñecido `%s'"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "Non se puido evalua-lo ficheiro %s"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr ""
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, fuzzy, c-format
 msgid "Command failed with status %d\n"
 msgstr "O fillo morreu co sinal %d"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr ""
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, fuzzy, c-format
 msgid "--stat requires file names"
 msgstr "--Nomes de ficheiro alterados--\n"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr ""
@@ -3012,6 +3067,9 @@ msgstr ""
 #~ msgid "Written by John Gilmore and Jay Fenlason."
 #~ msgstr "Escrito por John Gilmore e Jay Fenlason."
 
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Saída por erro retrasada dos erros anteriores"
+
 #~ msgid ""
 #~ "If a long option shows an argument as mandatory, then it is mandatory\n"
 #~ "for the equivalent short option also.\n"
@@ -3081,10 +3139,6 @@ msgstr ""
 #~ msgid "Only wrote %u of %u bytes to %s"
 #~ msgstr "Só escritos %u dun total de %u bytes en %s"
 
-#~ msgid "Archive %s EOF not on block boundary"
-#~ msgstr ""
-#~ "A fin do ficheiro (EOF) do arquivo %s non se atopa no límite do bloque"
-
 #~ msgid "Only read %d bytes from archive %s"
 #~ msgstr "So lidos %d bytes do arquivo %s"
 
index 1c10d1a275164b89257f9e8c5295f2ac2190bb78..1858ec8d4924de5d00da45a7b98ea4baa2fd295c 100644 (file)
Binary files a/po/hr.gmo and b/po/hr.gmo differ
index 2afad6aedc1badf6e4c2aa2bcb5a8c258283c325..596b0df4ec0406d372a8bbac244aab77686024a2 100644 (file)
--- a/po/hr.po
+++ b/po/hr.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.13.25\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
 "PO-Revision-Date: 2002-04-26 10:49+MET(DST)(UTC+2)\n"
 "Last-Translator: Mirsad Todorovac <mtodorov_69@yahoo.com>\n"
 "Language-Team: Croatian <lokalizacija@linux.hr>\n"
@@ -82,7 +82,7 @@ msgstr ""
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr "Poku¹ajte `%s --help' za vi¹e informacija.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, fuzzy, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
@@ -93,15 +93,15 @@ msgstr ""
 msgid "Unknown system error"
 msgstr "Nepoznata pogre¹ka u sistemu"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr ""
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr ""
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr ""
@@ -114,11 +114,11 @@ msgstr ""
 msgid "SECS"
 msgstr ""
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr ""
 
@@ -136,7 +136,7 @@ msgstr "%s: za opciju `%s' neophodan je argument\n"
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr ""
 
@@ -195,16 +195,16 @@ msgstr "%s: opcija `-W %s' nije jednozna
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: opcija `-W %s' ne dozvoljava argument\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "iscrpljena memorija"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Ne mogu promijeniti radni direktorij"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Ne mogu pohraniti radni direktorij"
@@ -327,11 +327,23 @@ msgstr "`"
 msgid "'"
 msgstr "'"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr ""
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr ""
 
@@ -536,105 +548,105 @@ msgstr "Prerani kraj datoteke"
 msgid "Garbage command"
 msgstr "Neispravna naredba"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Ovo ne izgleda kao tar arhiva"
 
 # FIXME -- ovo neæe raditi ako je prevedeno -- Denis?
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 #, fuzzy
 msgid "Total bytes written"
 msgstr "Ukupno ispisano bajtova: %s (%sB, %sB/s)\n"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr ""
 
 # FIXME -- ovo neæe raditi ako je prevedeno -- Denis?
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, fuzzy, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Ukupno ispisano bajtova: %s (%sB, %sB/s)\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(cjevovod - pipe)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "Pogre¹na vrijednost za record_size"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Nije dano ime arhive"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Ne mogu verificirati stdin/stdout arhive"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr ""
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Ne mogu a¾urirati komprimirane arhive"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "Poèetak trake, zavr¹avam"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Previ¹e pogre¹aka, zavr¹avam"
 
-#: src/buffer.c:678
-#, fuzzy, c-format
-msgid "Unaligned block (%lu byte) in archive"
-msgid_plural "Unaligned block (%lu bytes) in archive"
-msgstr[0] "Neporavnat (unaligned) blok (%lu bajtova) unutar arhive"
-msgstr[1] "Neporavnat (unaligned) blok (%lu bajtova) unutar arhive"
-
-#: src/buffer.c:698
+#: src/buffer.c:695
 #, fuzzy, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Velièina sloga = %lu blokova"
 msgstr[1] "Velièina sloga = %lu blokova"
 
-#: src/buffer.c:771
+#: src/buffer.c:716
+#, fuzzy, c-format
+msgid "Unaligned block (%lu byte) in archive"
+msgid_plural "Unaligned block (%lu bytes) in archive"
+msgstr[0] "Neporavnat (unaligned) blok (%lu bajtova) unutar arhive"
+msgstr[1] "Neporavnat (unaligned) blok (%lu bajtova) unutar arhive"
+
+#: src/buffer.c:793
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "Ne mogu se pomicati unazad unutar arhive; mo¾e biti neèitljiva bez -i"
 
-#: src/buffer.c:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: sadr¾i pogre¹an broj dijela arhive"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Prekoraèenje u broju dijela arhive"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Pripremite dio arhive #%d za %s i pritisni <RETURN>:"
 
-#: src/buffer.c:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "Naðen EOF gdje sam oèekivao odgovor korisnika"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "UPOZORENJE: Arhiva nije kompletirana"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -646,70 +658,75 @@ msgstr ""
 " !          Pokreni podljusku operativnog sistema\n"
 " ?          Ispi¹i ovu listu\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Nema novog dijela arhive; zavr¹avam.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, fuzzy, c-format
 msgid "%s command failed"
 msgstr "Neuspjela `%s' naredba"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, fuzzy, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s nije nastavljen za ovom dijelu arhive"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s nije nastavljen za ovom dijelu arhive"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s je pogre¹ne velièine (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Ovaj dio arhive je izvan slijeda"
 
 # FIXME -- clean against source! (TM)
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arhiva nije oznaèena labelom da odgovara %s"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Dio arhive %s ne odgovara %s"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 
+#: src/buffer.c:1619
+msgid "write did not end on a block boundary"
+msgstr ""
+
 #: src/compare.c:96
 #, fuzzy, c-format
 msgid "Could only read %lu of %lu byte"
@@ -721,8 +738,8 @@ msgstr[1] "Uspio pro
 msgid "Contents differ"
 msgstr "Sadr¾aji se razlikuju"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Neoèekivani EOF u arhivi"
 
@@ -841,7 +858,7 @@ msgstr[1] "%s: Datoteka se skratila za %s bajtova; nadopunjujemo nulama"
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: datoteka je na drugom datoteènom sustavu; ne arhiviram ju"
 
-#: src/create.c:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr ""
 
@@ -870,7 +887,7 @@ msgstr "%s: datoteka je arhiva; ne arhiviram ju"
 msgid "%s: File removed before we read it"
 msgstr "%s: Datoteka uklonjena (removed) prije nego ¹to smo ju proèitali"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr ""
 
@@ -923,170 +940,170 @@ msgid "Extracting contiguous files as regular files"
 msgstr "Ekstrahiram neprekinute datoteke kao regularne datoteke"
 
 # FIXME -- 'hard links' -- TM
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Poku¹avam ekstrakciju simbolièkih linkova kao hard linkova"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Èitam %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, 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:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "Neoèekivan EOF u mangliranim imenima"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, fuzzy, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
 msgstr "%s: Nepoznat tip datoteke '%c', ekstrahiran kao normalna datoteka"
 
-#: src/extract.c:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr ""
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Nisam uspio napraviti backup ove datoteke"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, fuzzy, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s: Ne mogu preimenovati u %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "Gre¹ka iz koje se ne mogu oporaviti: zavr¹avam s radom"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, fuzzy, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Direktoriju promijenjeno ime"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Direktoriju promijenjeno ime"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Novi direktorij"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Pogre¹na oznaka vremena"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 #, fuzzy
 msgid "Invalid modification time (seconds)"
 msgstr "Pogre¹an mod dan opcijom"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr ""
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Pogre¹an broj ureðaja"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Pogre¹an inode broj"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr ""
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr ""
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "Neoèekivani EOF u arhivi"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr ""
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr ""
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr ""
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr ""
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr ""
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
 # FIXME -- blocking factor -- can't translate (ask others) -- TM
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, fuzzy, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Ne mogu alocirati memoriju za faktor pakiranja u blokove %d"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr ""
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, fuzzy, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: datoteka je na drugom datoteènom sustavu; ne arhiviram ju"
 
-#: src/incremen.c:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Bri¹em %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Ne mogu obrisati"
@@ -1106,19 +1123,19 @@ msgstr "blok %s: ** Blok ispunjen NULama **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Kraj datoteke **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Razmaci 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:717
+#: src/list.c:726
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1126,71 +1143,71 @@ msgstr ""
 "komplement"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:728
+#: src/list.c:737
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Oktalna vrijednost iz arhive %.*s je izvan %s opsega"
 
 # FIXME -- obsolescent -- TM
-#: src/list.c:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arhiva sadr¾i base-64 zaglavlja zastarjelog formata"
 
 # FIXME??
-#: src/list.c:763
+#: src/list.c:772
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Base-64 vrijednost s predznakom %s iz arhive je izvan %s opsega"
 
-#: src/list.c:794
+#: src/list.c:803
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Base-256 vrijednost iz arhive je izvan %s opsega"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Vrijednost %s iz arhive je izvan %s opsega %s..%s"
 
-#: src/list.c:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " link do %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " nepoznat tip datoteke %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr ""
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr ""
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Zaglavlje dijela arhive--\n"
 
 # FIXME -- clarify against source -- TM
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Nastavljeno s bajtom %s--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Kreiram direktorij:"
 
@@ -1227,24 +1244,24 @@ msgstr "me
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr ""
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr ""
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Nije naðeno u arhivi"
 
-#: src/names.c:621
+#: src/names.c:615
 #, fuzzy, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Nije naðeno u arhivi"
@@ -1269,7 +1286,7 @@ msgid ""
 "Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
 msgstr ""
 
-#: src/tar.c:334
+#: src/tar.c:336
 #, fuzzy
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
@@ -1289,7 +1306,7 @@ msgstr ""
 "op¹irno.\n"
 "  %s -xf arhiva.tar           # Ekstrahiraj sve datoteke iz arhiva.tar.\n"
 
-#: src/tar.c:343
+#: src/tar.c:345
 #, fuzzy
 msgid ""
 "The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
@@ -1310,87 +1327,87 @@ msgstr ""
 "  nil, existing   pobrojani ako pobrojani veæ postoje, inaèe jednostavni\n"
 "  never, simple   uvijek radi jednostavne backupe\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr ""
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr ""
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr ""
 
-#: src/tar.c:377
+#: src/tar.c:379
 #, fuzzy
 msgid "create a new archive"
 msgstr "Neoèekivani EOF u arhivi"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr ""
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr ""
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr ""
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr ""
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr ""
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr ""
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr ""
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr ""
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr ""
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr ""
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1398,560 +1415,573 @@ msgid ""
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr ""
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr ""
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr ""
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr ""
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr ""
 
-#: src/tar.c:435
+#: src/tar.c:437
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 
-#: src/tar.c:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr ""
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr ""
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr ""
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr ""
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr ""
 
-#: src/tar.c:454
+#: src/tar.c:456
 #, fuzzy
 msgid "extract files to standard output"
 msgstr "Pogre¹ka u pisanju na standardni izlaz"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr ""
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr ""
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr ""
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr ""
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr ""
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr ""
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:472
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr ""
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr ""
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr ""
 
-#: src/tar.c:477
+#: src/tar.c:479
 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:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr ""
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr ""
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr ""
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr ""
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr ""
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr ""
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr ""
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr ""
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr ""
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
 msgstr ""
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr ""
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr ""
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr ""
 
 # FIXME -- volume -- find more suitable (ask others) -- TM
-#: src/tar.c:535
+#: src/tar.c:537
 #, fuzzy
 msgid "create/list/extract multi-volume archive"
 msgstr "Ne mogu verificirati vi¹edjelne arhive"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr ""
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr ""
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr ""
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr ""
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr ""
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr ""
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr ""
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr ""
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr ""
 
-#: src/tar.c:561
+#: src/tar.c:563
 #, fuzzy
 msgid "Archive format selection:"
 msgstr "Konfliktne opcije formata arhive"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr ""
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr ""
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr ""
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr ""
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr ""
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr ""
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr ""
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr ""
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr ""
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr ""
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr ""
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
 
-#: src/tar.c:592
+#: src/tar.c:594
 #, fuzzy
 msgid "Compression options:"
 msgstr "Konfliktne opcije za kompresiju"
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:596
+#: src/tar.c:598
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr ""
 
-#: src/tar.c:598
+#: src/tar.c:603
 #, fuzzy
 msgid "filter the archive through gzip"
 msgstr "%s: datoteka je arhiva; ne arhiviram ju"
 
-#: src/tar.c:602
+#: src/tar.c:607
 #, fuzzy
 msgid "filter the archive through compress"
 msgstr "%s: datoteka je arhiva; ne arhiviram ju"
 
-#: src/tar.c:605
+#: src/tar.c:610
 #, fuzzy
 msgid "filter the archive through lzma"
 msgstr "%s: datoteka je arhiva; ne arhiviram ju"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "%s: datoteka je arhiva; ne arhiviram ju"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr ""
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr ""
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr ""
 
-#: src/tar.c:615
+#: src/tar.c:622
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 
-#: src/tar.c:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr ""
 
-#: src/tar.c:617
+#: src/tar.c:624
 #, fuzzy
 msgid "change to directory DIR"
 msgstr "Ne mogu promijeniti radni direktorij"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr ""
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr ""
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr ""
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr ""
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr ""
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr ""
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr ""
 
-#: src/tar.c:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/tar.c:639
+#: src/tar.c:648
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 
-#: src/tar.c:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
 msgstr ""
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr ""
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr ""
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr ""
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr ""
 
-#: src/tar.c:654
+#: src/tar.c:663
 #, fuzzy
 msgid "don't strip leading `/'s from file names"
 msgstr "Uklanjam vodeæe `%.*s' iz imena èlanova"
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:658
+#: src/tar.c:667
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr ""
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr ""
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr ""
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr ""
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr ""
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr ""
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:676
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/tar.c:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr ""
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr ""
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr ""
 
-#: src/tar.c:699
+#: src/tar.c:709
 #, fuzzy
 msgid "wildcards do not match `/'"
 msgstr "Dio arhive %s ne odgovara %s"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr ""
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1959,225 +1989,231 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr ""
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr ""
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr ""
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr ""
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr ""
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Ne mo¾ete navesti vi¹e od jedne od `-Acdtrux' opcija"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Konfliktne opcije za kompresiju"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr " nepoznat tip datoteke %s\n"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 #, fuzzy
 msgid "Date sample file not found"
 msgstr "Datoteka s datumom nije pronaðena"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Substituiram %s za nepoznat format datuma %s"
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr ""
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, fuzzy, c-format
 msgid "%s: file list already read"
 msgstr "%s: datoteka je arhiva; ne arhiviram ju"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr ""
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
 # FIXME -- clarify this against source and man -- TM
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Pogre¹an faktor pakiranja u blokove"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr "Upozorenje: opcija -I nije podr¾ana; mo¾da ste mislili -j ili -T?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Pogre¹na duljina trake"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Vi¹e od jednog datuma s pragom (threshold)"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: Pogre¹na grupa"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Pogre¹an mod dan opcijom"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 #, fuzzy
 msgid "Invalid number"
 msgstr "Pogre¹an inode broj"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Pogre¹an vlasnik"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Pogre¹na velièina sloga (record)"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Velièina sloga (record) mora biti vi¹ekratnik %d."
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 #, fuzzy
 msgid "Invalid number of elements"
 msgstr "Pogre¹na duljina trake"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
 msgstr ""
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, c-format
 msgid "Options `-[0-7][lmh]' not supported by *this* tar"
 msgstr "Opcije `-[0-7][lmh]' nisu podr¾ane od strane *ovog* tar-a"
 
-#: src/tar.c:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr ""
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "Stara opcija `%c' zahtijeva obavezan argument."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr ""
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 #, fuzzy
 msgid "Multiple archive files require `-M' option"
 msgstr "Vi¹edjelne arhive zahtijevaju `-M' opciju"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "Ne mogu kombinirati --listed-incremental s --newer"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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)"
@@ -2185,44 +2221,52 @@ msgstr[0] "%s: Oznaka dijela arhive je preduga
 msgstr[1] "%s: Oznaka dijela arhive je predugaèka (limit je %lu bajtova)"
 
 # FIXME -- volume -- find more suitable (ask others) -- TM
-#: src/tar.c:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Ne mogu verificirati vi¹edjelne arhive"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Ne mogu verificirati komprimirane arhive"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Ne mogu koristiti vi¹edjelne komprimirane arhive"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "Ne mogu a¾urirati komprimirane arhive"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
 # LOL -- TM
-#: src/tar.c:2318
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Kukavièki odbijam kreirati praznu arhivu!"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "Opcije `-Aru' nisu kompatibilne s `-f -'"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Morate specificirati jednu od `-Acdtrux' opcija"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Pogre¹an izlaz (naknadno) zbog prija¹njih pogre¹aka"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, fuzzy, c-format
@@ -2231,80 +2275,80 @@ msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Datoteka se skratila za %s bajtova"
 msgstr[1] "%s: Datoteka se skratila za %s bajtova"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr ""
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr ""
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr ""
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr ""
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr ""
 
 # FIXME??
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, fuzzy, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Base-64 vrijednost s predznakom %s iz arhive je izvan %s opsega"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr ""
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr ""
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr ""
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, fuzzy, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Vrijednost %s iz arhive je izvan %s opsega %s..%s"
 
-#: src/xheader.c:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr ""
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr ""
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2467,98 +2511,108 @@ msgstr "Inode broj izvan opsega"
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Nepoznata pogre¹ka u sistemu"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
 msgstr ""
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 #, fuzzy
 msgid "cannot seek"
 msgstr "Ne mogu zatvoriti"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr " nepoznat tip datoteke %s\n"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "%s: Neuspjeli seek na %s"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr ""
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, fuzzy, c-format
 msgid "Command failed with status %d\n"
 msgstr "Potproces zavr¹io uz signal %d"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr ""
 
 # FIXME -- 'mangled filenames'???
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, fuzzy, c-format
 msgid "--stat requires file names"
 msgstr "--Manglirana imena datoteka--\n"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr ""
@@ -3030,6 +3084,9 @@ msgstr ""
 #~ msgid "Written by John Gilmore and Jay Fenlason."
 #~ msgstr "Napisali John Gilmore i Jay Fenlason."
 
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Pogre¹an izlaz (naknadno) zbog prija¹njih pogre¹aka"
+
 #~ msgid ""
 #~ "If a long option shows an argument as mandatory, then it is mandatory\n"
 #~ "for the equivalent short option also.\n"
index d9e372d5c7b76841f612b2b5c12fa1f57e0c81d6..3ebc393b21dffb435e3695ded368889296ac76c4 100644 (file)
Binary files a/po/hu.gmo and b/po/hu.gmo differ
index 0d9dc56ce30393e1b500e1b4eea66f0f6983c2b1..89fb7d7d81ee990b86a48e400a40782d08e45f00 100644 (file)
--- a/po/hu.po
+++ b/po/hu.po
@@ -5,10 +5,10 @@
 # Gabor Kelemen <kelemeng@gnome.hu>, 2006, 2007, 2008.
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.19.90\n"
+"Project-Id-Version: tar 1.20\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
-"PO-Revision-Date: 2008-04-06 17:41+0200\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
+"PO-Revision-Date: 2008-05-11 16:11+0200\n"
 "Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
 "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
@@ -20,12 +20,12 @@ msgstr ""
 #: lib/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
-msgstr "a(z) \"%s\" argumentum érvénytelen a következőhöz: %s"
+msgstr "a(z) „%s” argumentum érvénytelen a következőhöz: %s"
 
 #: lib/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\""
+msgstr "a(z) „%s” argumentum nem egyértelmű a következőhöz: „%s”"
 
 #: lib/argmatch.c:153
 #, c-format
@@ -81,27 +81,27 @@ msgstr " [KAPCSOLÓ...]"
 #, c-format
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr ""
-"További információkért próbáld kiadni a \"%s --help\" vagy \"%s --usage\" "
+"További információkért próbálja kiadni a „%s --help” vagy „%s --usage” "
 "parancsokat.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
-msgstr "A hibákat a(z) %s címen jelentsd.\n"
+msgstr "A hibák a(z) %s címen jelenthetők.\n"
 
 #: lib/argp-help.c:1929 lib/error.c:125
 msgid "Unknown system error"
 msgstr "Ismeretlen rendszerhiba"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr "ezen súgószöveg megjelenítése"
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr "rövid használati utasítás megjelenítése"
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr "NÉV"
@@ -114,11 +114,11 @@ msgstr "a program nevének beállítása"
 msgid "SECS"
 msgstr "MP"
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr "szünet MP másodpercre (alapértelmezetten 3600)"
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr "a programverzió kiírása"
 
@@ -136,39 +136,39 @@ msgstr "%s: túl sok argumentum\n"
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(PROGRAMHIBA) A kapcsolót fel kellett volna ismerni???"
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr "íráshiba"
 
 #: lib/getopt.c:526 lib/getopt.c:542
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: a(z) \"%s\" kapcsoló nem egyértelmű\n"
+msgstr "%s: a(z) „%s” kapcsoló nem egyértelmű\n"
 
 #: lib/getopt.c:575 lib/getopt.c:579
 #, c-format
 msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: a(z) \"--%s\" kapcsoló nem enged meg argumentumot\n"
+msgstr "%s: a(z) „--%s” kapcsoló nem enged meg argumentumot\n"
 
 #: lib/getopt.c:588 lib/getopt.c:593
 #, 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"
+msgstr "%s: a(z) „%c%s” kapcsoló nem enged meg argumentumot\n"
 
 #: lib/getopt.c:636 lib/getopt.c:655 lib/getopt.c:971 lib/getopt.c:990
 #, c-format
 msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: a(z) \"%s\" kapcsolóhoz argumentum szükséges\n"
+msgstr "%s: a(z) „%s” kapcsolóhoz argumentum szükséges\n"
 
 #: lib/getopt.c:693 lib/getopt.c:696
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: a(z) \"--%s\" kapcsoló ismeretlen\n"
+msgstr "%s: a(z) „--%s” kapcsoló ismeretlen\n"
 
 #: lib/getopt.c:704 lib/getopt.c:707
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: a(z) \"%c%s\" kapcsoló ismeretlen\n"
+msgstr "%s: a(z) „%c%s” kapcsoló ismeretlen\n"
 
 #: lib/getopt.c:759 lib/getopt.c:762
 #, c-format
@@ -188,23 +188,23 @@ msgstr "%s: a kapcsoló egy argumentumot igényel -- %c\n"
 #: lib/getopt.c:892 lib/getopt.c:908
 #, c-format
 msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: a \"-W %s\" kapcsoló nem egyértelmű\n"
+msgstr "%s: a „-W %s” kapcsoló nem egyértelmű\n"
 
 #: lib/getopt.c:932 lib/getopt.c:950
 #, c-format
 msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: a \"-W %s\" kapcsoló nem enged meg argumentumot\n"
+msgstr "%s: a „-W %s” kapcsoló nem enged meg argumentumot\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "elfogyott a memória"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, c-format
 msgid "unable to record current working directory"
 msgstr "A munkakönyvtár nem jegyezhető fel"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "a visszatérés meghiúsult a kiinduló munkakönyvtárba"
@@ -285,12 +285,12 @@ msgstr[1] "%s: Csak %lu bájt került kiírásra, összesen %lu bájtból"
 #: lib/paxnames.c:155
 #, c-format
 msgid "Removing leading `%s' from member names"
-msgstr "A kezdő \"%s\" eltávolítása a nevek elejéről"
+msgstr "A kezdő „%s” eltávolítása a nevek elejéről"
 
 #: lib/paxnames.c:156
 #, c-format
 msgid "Removing leading `%s' from hard link targets"
-msgstr "A kezdő \"%s\" eltávolítása a közvetlen linkek céljaiból"
+msgstr "A kezdő „%s” eltávolítása a közvetlen linkek céljaiból"
 
 #: lib/paxnames.c:169
 msgid "Substituting `.' for empty member name"
@@ -321,17 +321,29 @@ msgstr "Egy . helyettesítése a közvetlen link üres célja helyett"
 #. and use glyphs suitable for your language.
 #: lib/quotearg.c:266
 msgid "`"
-msgstr "\""
+msgstr ""
 
 #: lib/quotearg.c:267
 msgid "'"
-msgstr "\""
-
-#: lib/rpmatch.c:69
+msgstr "”"
+
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr "^[iIyY]"
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr "^[nN]"
 
@@ -505,7 +517,7 @@ msgstr "Nem foglalható hely a puffernek"
 #: rmt/rmt.c:304
 #, c-format
 msgid "Try `%s --help' for more information.\n"
-msgstr "További információkért adja ki a \"%s --help\" parancsot.\n"
+msgstr "További információkért adja ki a „%s --help” parancsot.\n"
 
 #: rmt/rmt.c:308
 #, c-format
@@ -556,104 +568,104 @@ msgstr "Idő előtti fájlvége"
 msgid "Garbage command"
 msgstr "Fölösleges parancs"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Ez nem úgy néz ki, mint egy tar archívum"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 msgid "Total bytes written"
 msgstr "Kiírt bájtok teljes száma"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr "Olvasott bájtok teljes száma"
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Törölt bájtok teljes száma: %s\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(cső)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "A record_size értéke érvénytelen"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Nem adott meg archívumnevet"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Nem ellenőrizhető az archívum, ha a szabványos be/kimenetet használja"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, 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:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Tömörített archívumok nem frissíthetők"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "A szalag eleje, most kilépek"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Túl sok hiba, kilépek"
 
-#: src/buffer.c:678
-#, 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:698
+#: src/buffer.c:695
 #, 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:771
+#: src/buffer.c:716
+#, 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:793
 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:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "az rmtlseek nem állt meg egy rekord határán"
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: érvénytelen kötetszámot tartalmaz"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Kötetszám-túlcsordulás"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, 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:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "EOF ahol a program felhasználói választ várt"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "FIGYELMEZTETÉS: Az archívum befejezetlen"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -664,66 +676,67 @@ msgstr ""
 " q          A Tar megszakítása\n"
 " y vagy újsor  A művelet folytatása\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !          Új parancsértelmező hívása\n"
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?          Ezen lista kiírása\n"
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Nincs új kötet, kilépés.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr "Nincs megadva fájlnév, próbálkozzon újra.\n"
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, 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:1044
+#: src/buffer.c:1064
 #, c-format
 msgid "%s command failed"
-msgstr "A(z) \"%s\" parancs meghiúsult"
+msgstr "A(z) „%s” parancs meghiúsult"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, 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:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s nem folytatódik ezen a köteten"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s mérete hibás (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Ez a kötet túl van a sorozaton"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, 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:1276
+#: src/buffer.c:1304
 #, 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:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -731,6 +744,11 @@ 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:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "az rmtlseek nem állt meg egy rekord határán"
+
 #: src/compare.c:96
 #, c-format
 msgid "Could only read %lu of %lu byte"
@@ -742,8 +760,8 @@ msgstr[1] "Csak %lu bájt olvasható %lu bájtból"
 msgid "Contents differ"
 msgstr "A tartalom eltér"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Váratlan EOF az archívumban"
 
@@ -793,7 +811,7 @@ msgstr "Ellenőrzés "
 #, 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"
+"%s: A(z) „%c” fájltípus ismeretlen, a diffelés normális fájlként történt"
 
 #: src/compare.c:524
 msgid "Archive contains file names with leading prefixes removed."
@@ -864,7 +882,7 @@ msgstr[1] "%s: a fájl zsugorítva %s bájtra, nullákkal kerül kitöltésre"
 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:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr "a tartalom nem került kiírásra"
 
@@ -876,7 +894,7 @@ msgstr "%s: Ismeretlen fájltípus, fájl a figyelmen kívül hagyva"
 #: src/create.c:1464
 #, c-format
 msgid "Missing links to %s.\n"
-msgstr "Hiányzó linkek a következőre: \"%s\".\n"
+msgstr "Hiányzó linkek a következőre: „%s”.\n"
 
 #: src/create.c:1535
 #, c-format
@@ -893,7 +911,7 @@ msgstr "%s: a fájl az archívumban van, nem kerül kiírásra"
 msgid "%s: File removed before we read it"
 msgstr "%s: a fájl el lett távolítva a beolvasás előtt"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr "a könyvtár nem került kiírásra"
 
@@ -944,170 +962,170 @@ msgstr "%s: a könyvtár átnevezésre került az állapotának kinyerése előt
 msgid "Extracting contiguous files as regular files"
 msgstr "A folytonos fájlok kibontása normál fájlként"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 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:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "%s olvasása\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, 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:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 msgid "Unexpected long name header"
 msgstr "Váratlan hosszú névfejléc"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, 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"
+msgstr "%s: Ismeretlen fájltípus: „%c”, normál fájlként lesz kibontva"
 
-#: src/extract.c:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
-msgstr "A jelenlegi \"%s\" újabb vagy egyező korú"
+msgstr "A jelenlegi „%s” újabb vagy egyező korú"
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, 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:1358
+#: src/extract.c:1355
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s: Nem nevezhető át a következőre: %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "A hiba nem hozható helyre: kilépés"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: A könyvtár át lett nevezve a következőről: %s"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: a könyvtár át lett nevezve"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: a könyvtár új"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Érvénytelen időbélyeg"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 msgid "Invalid modification time (seconds)"
 msgstr "Érvénytelen módosítási idő (másodperc)"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr "Érvénytelen módosítási idő (nanomásodperc)"
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Érvénytelen eszközszám"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Érvénytelen inode-szám"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr "Túl hosszú mező a pillanatképfájl olvasása közben"
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr "Olvasási hiba a pillanatképfájlban"
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 msgid "Unexpected EOF in snapshot file"
 msgstr "Váratlan fájlvége a pillanatképfájlban"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr "Váratlan mezőérték a pillanatképfájlban"
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr "Hiányzó rekordlezáró"
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr "Hibás növekményes fájlformátum"
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Nem támogatott növekményes formátumverzió: %<PRIuMAX>"
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, 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ó"
+"Rosszul formázott kiíratási könyvtár: a várt „%c” helyett %#3o található"
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
-msgstr "Rosszul formázott kiíratási könyvtár: az \"X\" többször szerepel"
+msgstr "Rosszul formázott kiíratási könyvtár: az „X” többször szerepel"
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
-msgstr "Rosszul formázott kiíratási könyvtár: üres név az \"R\"-ben"
+msgstr "Rosszul formázott kiíratási könyvtár: üres név az „R”-ben"
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
-msgstr "Rosszul formázott kiíratási könyvtár: a \"T\"-t nem előzi meg az \"R\""
+msgstr "Rosszul formázott kiíratási könyvtár: a „T”-t nem előzi meg az „R”"
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
-msgstr "Rosszul formázott kiíratási könyvtár: üres név a \"T\"-ben"
+msgstr "Rosszul formázott kiíratási könyvtár: üres név a „T”-ben"
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, 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 "
+"Rosszul formázott kiíratási könyvtár: a várt „%c” helyett az adatok vége "
 "található"
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 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"
+"Rosszul formázott kiíratási könyvtár: az „X” soha nem került felhasználásra"
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, 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:1543
+#: src/incremen.c:1603
 #, 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:1556
+#: src/incremen.c:1616
 #, 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:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: %s törlése\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: nem távolítható el"
@@ -1127,20 +1145,20 @@ msgstr "blokk %s: ** A blokk üres **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "blokk %s: ** A fájl vége **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "blokk %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1148,69 +1166,69 @@ msgstr ""
 "feltételezi, hogy kettes komplemens"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:728
+#: src/list.c:737
 #, 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:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Az archívum elavulófélben levő base-64-es fejléceket tartalmaz"
 
-#: src/list.c:763
+#: src/list.c:772
 #, 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:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, 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:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " link a következőre: %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " ismeretlen fájltípus: %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Hosszú link--\n"
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Hosszú név--\n"
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Kötetfejléc--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Folytatva %s bájttól--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Könyvtár létrehozása:"
 
@@ -1247,26 +1265,26 @@ msgstr "folyamatközi csatorna"
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr "Mintaillesztő karaktereket használt a fájlnevekben. "
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
 "Használja a --wildcards kapcsolót a mintaillesztés engedélyezéséhez vagy a --"
 "no-wildcards kapcsolót "
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr "ezen figyelmeztetés elnyomásához."
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Nem található az archívumban"
 
-#: src/names.c:621
+#: src/names.c:615
 #, 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"
@@ -1275,7 +1293,7 @@ msgstr "%s: A szükséges előfordulás nem található az archívumban"
 #, 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"
+"A(z) „-%s” és a(z) „-%s” kapcsolók mind a szabványos bemenetet igénylik"
 
 #: src/tar.c:156
 #, c-format
@@ -1291,10 +1309,10 @@ msgstr "GNU szolgáltatásokat kértél inkompatibilis az archívumformátumokon
 msgid ""
 "Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
 msgstr ""
-"A(z) \"%s\" idézési stílus ismeretlen. Próbálja a \"%s --quoting-style=help"
-"\" parancsot segítségért."
+"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:334
+#: src/tar.c:336
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1304,7 +1322,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 ""
-"A GNU \"tar\" több fájlt egyetlen szalagos vagy lemezes archívumba ment és "
+"A GNU „tar” több fájlt egyetlen szalagos vagy lemezes archívumba ment és "
 "képes az egyes fájlokat helyreállítani az archívumból.\n"
 "\n"
 "Például:\n"
@@ -1315,7 +1333,7 @@ msgstr ""
 "  tar -xf archívum.tar         # Kibontja az összes fájlt az archívum.tar\n"
 "                                   fájlból.\n"
 
-#: src/tar.c:343
+#: src/tar.c:345
 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 "
@@ -1326,8 +1344,7 @@ msgid ""
 "  nil, existing   numbered if numbered backups exist, simple otherwise\n"
 "  never, simple   always make simple backups\n"
 msgstr ""
-" A biztonsági mentés utótagja \"~\", hacsak nem változtatja meg a \"--suffix"
-"\"\n"
+" A biztonsági mentés utótagja „~”, hacsak nem változtatja meg a „--suffix”\n"
 "vagy a SIMPLE_BACKUP_SUFFIX segítségével.\n"
 "A verziófelügyelet a --backup vagy a VERSION_CONTROL segítségével "
 "kezelheti,\n"
@@ -1338,88 +1355,88 @@ msgstr ""
 "                  egyébként egyszerű\n"
 "  never, simple   mindig egyszerű mentés létrehozása\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr "Fő működési mód:"
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr "felsorolja egy archívum tartalmát"
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr "fájlok kibontása egy archívumból"
 
-#: src/tar.c:377
+#: src/tar.c:379
 msgid "create a new archive"
 msgstr "új archívum létrehozása"
 
-#: src/tar.c:379
+#: src/tar.c:381
 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:382
+#: src/tar.c:384
 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:384
+#: src/tar.c:386
 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:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr "tar fájlok hozzáfűzése egy archívumhoz"
 
-#: src/tar.c:389
+#: src/tar.c:391
 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:391
+#: src/tar.c:393
 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:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr "Műveletmódosítók:"
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr "ritka fájlok hatékony kezelése"
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr "MAGAS[.ALACSONY]"
 
-#: src/tar.c:401
+#: src/tar.c:403
 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:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr "régi GNU formátumú növekményes mentés kezelése"
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr "FÁJL"
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr "új GNU formátumú növekményes mentés kezelése"
 
-#: src/tar.c:407
+#: src/tar.c:409
 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:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr "SZÁM"
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1432,117 +1449,119 @@ msgstr ""
 "átadásra a parancssoron vagy a -T kapcsolón keresztül. A SZÁM "
 "alapértelmezett értéke az 1."
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr "az archívum kereshető"
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
-msgstr ""
+msgstr "ne ellenőrizze az eszközszámokat növekményes archívumok létrehozásakor"
 
-#: src/tar.c:420
+#: src/tar.c:422
 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:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr "Felülírás felügyelete:"
 
-#: src/tar.c:429
+#: src/tar.c:431
 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:431
+#: src/tar.c:433
 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:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr "ne cserélje a meglévő fájlokat kibontáskor"
 
-#: src/tar.c:435
+#: src/tar.c:437
 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:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr "meglévő fájlok felülírása kibontáskor"
 
-#: src/tar.c:439
+#: src/tar.c:441
 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:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr "hierarchiák kiürítése könyvtár kibontása előtt"
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr "meglévő könyvtárak metaadatainak megőrzése"
 
-#: src/tar.c:445
+#: src/tar.c:447
 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:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr "Kimeneti adatfolyam kiválasztása:"
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
 msgstr "fájlok kibontása a szabványos kimenetre"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr "PARANCS"
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr "kibontott fájlok továbbítása másik program számára"
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr "utódok kilépési kódjainak figyelmen kívül hagyása"
 
-#: src/tar.c:460
+#: src/tar.c:462
 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:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr "Fájlattribútumok kezelése:"
 
-#: src/tar.c:468
+#: src/tar.c:470
 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:470
+#: src/tar.c:472
 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:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr "DÁTUM-VAGY-FÁJL"
 
-#: src/tar.c:472
+#: src/tar.c:474
 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:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr "MÓDOSÍTÁSOK"
 
-#: src/tar.c:474
+#: src/tar.c:476
 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:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr "MÓDSZER"
 
-#: src/tar.c:477
+#: src/tar.c:479
 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 "
@@ -1552,29 +1571,29 @@ 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:481
+#: src/tar.c:483
 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:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr "próbálja azonos tulajdonossal kibontani a fájlokat"
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr "fájlok kibontása az Ön nevében"
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr "mindig számok használata a felhasználó- vagy csoportnevekhez"
 
-#: src/tar.c:489
+#: src/tar.c:491
 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:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1582,15 +1601,15 @@ 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:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr "kibontandó nevek rendezése, az archívumnak való megfelelés érdekében"
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr "azonos, mint a -p és -s egyszerre"
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1598,139 +1617,139 @@ 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:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "a --delay-directory-restore kapcsoló hatásának megszüntetése"
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr "Eszköz kiválasztása és váltása:"
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr "ARCHÍVUM"
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr "az ARCHÍVUM archívumfájl vagy -eszköz használata"
 
-#: src/tar.c:513
+#: src/tar.c:515
 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:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "az adott rmt PARANCS használata az rmt helyett"
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr "a távoli PARANCS használata az rsh helyett"
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr "meghajtó és sűrűség megadása"
 
-#: src/tar.c:535
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
 msgstr "többkötetes archívum létrehozása/listázása/kibontása"
 
-#: src/tar.c:537
+#: src/tar.c:539
 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:539
+#: src/tar.c:541
 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:542
+#: src/tar.c:544
 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:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr "Eszközblokkolás:"
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr "BLOKK"
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr "rekordonként BLOKK x 512 bájt"
 
-#: src/tar.c:552
+#: src/tar.c:554
 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:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "nullázott blokkok (EOF) mellőzése az archívumban"
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "újrablokkolás olvasáskor (4.2BSD csövekhez)"
 
-#: src/tar.c:561
+#: src/tar.c:563
 msgid "Archive format selection:"
 msgstr "Archívumformátum kiválasztása:"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr "FORMÁTUM"
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr "az adott formátumú archívum létrehozása"
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr "A FORMÁTUM a következők egyike:"
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr "régi V7 tar formátum"
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr "A tar <= 1.12 által használt GNU formátum"
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr "GNU tar 1.13.x formátum"
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "POSIX 1003.1-1988 (ustar) formátum"
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "POSIX 1003.1-2001 (pax) formátum"
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr "azonos a pax formátummal"
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr "azonos a --format=v7 formátummal"
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr "azonos a --format=posix formátummal"
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "kulcsszó[[:]=érték][,kulcsszó[[:]=érték]..."
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr "a pax kulcsszavak irányítása"
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr "SZÖVEG"
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1738,87 +1757,101 @@ 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:592
+#: src/tar.c:594
 msgid "Compression options:"
 msgstr "Tömörítési kapcsolók:"
 
-#: src/tar.c:594
+#: src/tar.c:596
 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:596
+#: src/tar.c:598
+#, fuzzy
+msgid "do not use 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:601
 msgid "filter the archive through bzip2"
 msgstr "az archívum tömörítése a bzip2 használatával"
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr "az archívum tömörítése a gzip használatával"
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr "az archívum tömörítése a compress használatával"
 
-#: src/tar.c:605
+#: src/tar.c:610
 msgid "filter the archive through lzma"
 msgstr "az archívum tömörítése az lzma használatával"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "az archívum tömörítése a gzip használatával"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr "PROG"
 
-#: src/tar.c:607
+#: src/tar.c:614
 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:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr "Helyi fájlválasztás:"
 
-#: src/tar.c:615
+#: src/tar.c:622
 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:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr "KÖNYVTÁR"
 
-#: src/tar.c:617
+#: src/tar.c:624
 msgid "change to directory DIR"
 msgstr "váltás a KÖNYVTÁR könyvtárba"
 
-#: src/tar.c:619
+#: src/tar.c:626
 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:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr "a -T nullal lezárt neveket olvas, letiltja a -C kapcsolót"
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
 "a -T segítségével beolvasott fájlnevek idézettségének megszüntetése "
 "(alapértelmezett)"
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr "ne szüntesse meg a -T segítségével beolvasott fájlnevek idézettségét"
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "MINTA"
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr "a MINTAKÉNT megadott fájlok kihagyása"
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr "a FÁJLBAN megadott minták kihagyása"
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1826,187 +1859,187 @@ msgstr ""
 "a CACHEDIR.TAG-et tartalmazó könyvtárak tartalmának kihagyása, a címkefájl "
 "kivételével"
 
-#: src/tar.c:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "a CACHEDIR.TAG-et tartalmazó könyvtárak alatt minden kihagyása"
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "a CACHEDIR.TAG-et tartalmazó könyvtárak kihagyása"
 
-#: src/tar.c:639
+#: src/tar.c:648
 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:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
 msgstr "a FÁJLT tartalmazó könyvtárak alatt minden kihagyása"
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr "a FÁJLT tartalmazó könyvtárak kihagyása"
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr "verziókezelő-könyvtárak kihagyása"
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr "ne lépjen be automatikusan a könyvtárakba"
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr "az archívum létrehozásakor maradjon a helyi fájlrendszeren"
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr "belépés a könyvtárakba rekurzívan (alapértelmezett)"
 
-#: src/tar.c:654
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
-msgstr "ne vágja le a kezdő \"/\" jelet a fájlnevekből"
+msgstr "ne vágja le a kezdő „/” jelet a fájlnevekből"
 
-#: src/tar.c:656
+#: src/tar.c:665
 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:658
+#: src/tar.c:667
 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:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr "TAGNÉV"
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr "kezdés a TAGNÉV tagnál az archívumban"
 
-#: src/tar.c:662
+#: src/tar.c:671
 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:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr "DÁTUM"
 
-#: src/tar.c:665
+#: src/tar.c:674
 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:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr "FELÜGYELET"
 
-#: src/tar.c:667
+#: src/tar.c:676
 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:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr "KARAKTERLÁNC"
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
-"mentés eltávolítás előtt, a szokásos utótag (\"~\", hacsak a "
+"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:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr "Fájlnév-átalakítások:"
 
-#: src/tar.c:676
+#: src/tar.c:685
 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:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr "KIFEJEZÉS"
 
-#: src/tar.c:679
+#: src/tar.c:688
 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:684
+#: src/tar.c:694
 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:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr "kis- és nagybetűk figyelmen kívül hagyása"
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr "a minták illesztése a fájlnevek elejére"
 
-#: src/tar.c:691
+#: src/tar.c:701
 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:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr "kis- és nagybetűkre érzékeny illesztés (alapértelmezett)"
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr "helyettesítő karakterek használata (alapértelmezett kihagyáskor)"
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr "szó szerinti karakterlánc-illesztés"
 
-#: src/tar.c:699
+#: src/tar.c:709
 msgid "wildcards do not match `/'"
 msgstr "a helyettesítő karakterek nem illeszkednek a perjelre"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr ""
-"a helyettesítőkarakterek illeszkednek a \"/\" jelre (alapértelmezett "
+"a helyettesítőkarakterek illeszkednek a „/” jelre (alapértelmezett "
 "kihagyáskor)"
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr "Informatív kimenet:"
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr "feldolgozott fájlok bőbeszédű listázása"
 
-#: src/tar.c:711
+#: src/tar.c:721
 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:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr "MŰVELET"
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr "a MŰVELET végrehajtása minden ellenőrzőponton"
 
-#: src/tar.c:717
+#: src/tar.c:727
 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:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr "SZIGNÁL"
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2018,27 +2051,27 @@ 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:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr "a fájlmódosítási dátumok kiírása UTC szerint"
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr "bőbeszédű kimenet küldése a FÁJLBA"
 
-#: src/tar.c:728
+#: src/tar.c:738
 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:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr "megerősítés kérése minden egyes művelethez"
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr "a tar alapértelmezéseinek megjelenítése"
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2046,31 +2079,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:737
+#: src/tar.c:747
 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:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr "STÍLUS"
 
-#: src/tar.c:741
+#: src/tar.c:751
 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:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr "a KARAKTERLÁNCBÓL származó karakterek kiegészítő idézése"
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr "a KARAKTERLÁNCBÓL származó karakterek idézésének letiltása"
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr "Kompatibilitási kapcsolók:"
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2078,56 +2111,56 @@ msgstr ""
 "létrehozáskor megegyezik a --old-archive kapcsolóval; kibontáskor a --no-"
 "same-owner kapcsolóval"
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr "Egyéb kapcsolók:"
 
-#: src/tar.c:761
+#: src/tar.c:771
 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:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
-msgstr "A következő kapcsolók közül egynél többet nem használhat: \"-Acdtrux\""
+msgstr "A következő kapcsolók közül egynél többet nem használhat: „-Acdtrux”"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "A tömörítési kapcsolók ütköznek"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Ismeretlen szignálnév: %s"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 msgid "Date sample file not found"
 msgstr "A dátummintafájl nem található"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "%s cseréje az ismeretlen %s dátumformátumhoz"
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
-msgstr "\"%s\" kapcsoló: A(z) \"%s\" dátum kezelése mint %s"
+msgstr "„%s” kapcsoló: A(z) „%s” dátum kezelése mint %s"
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, c-format
 msgid "%s: file list already read"
 msgstr "%s: a fájllista már be van olvasva"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: a beolvasott fájlnév null karaktert tartalmaz"
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr "A --quoting-style kapcsolók érvényes argumentumai:"
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2135,155 +2168,169 @@ msgstr ""
 "\n"
 "*Ezen* tar alapértelmezései:\n"
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Érvénytelen blokkolási tényező"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr ""
-"Figyelmeztetés: a \"-l\" kapcsoló nem támogatott; talán a \"-j\" vagy a \"-T"
-"\" egyikére gondolt?"
+"Figyelmeztetés: a „-l” kapcsoló nem támogatott; talán a „-j” vagy a „-T” "
+"egyikére gondolt?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Érvénytelen szalagméret"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Egynél több küszöbdátum"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr "Érvénytelen ritka verzió érték"
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 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:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr "A --checkpoint értéke nem egy egész"
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: Érvénytelen csoport"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Érvénytelen mód került megadásra a kapcsolóban"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr "Érvénytelen szám"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Érvénytelen tulajdonos"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Érvénytelen rekordméret"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, 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:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr "Érvénytelen elemszám"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr "Csak egy --to-command kapcsoló engedélyezett"
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Rosszul formázott sűrűségargumentum: %s"
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
-msgstr "Ismeretlen sűrűség: \"%c\""
+msgstr "Ismeretlen sűrűség: „%c”"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, 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"
+msgstr "A „-[0-7][lmh]” kapcsolókat *ez* a tar NEM támogatja"
 
-#: src/tar.c:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr "[FÁJL]..."
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
-msgstr "A régi \"%c\" kapcsoló paramétert igényel."
+msgstr "A régi „%c” kapcsoló paramétert igényel."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr "a --occurrence értelmetlen fájllista nélkül"
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr "a --occurrence nem használható a kért működési módban"
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 msgid "Multiple archive files require `-M' option"
-msgstr "Több archívumfájl esetén szükséges a \"-M\" kapcsoló"
+msgstr "Több archívumfájl esetén szükséges a „-M” kapcsoló"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr ""
 "A --listed-incremental és a --newer kapcsolók nem használhatók egyszerre"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "A többkötetes archívumok nem ellenőrizhetők"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "A tömörített archívumok nem ellenőrizhetők"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Nem használhatók többkötetes tömörített archívumok"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 msgid "Cannot concatenate compressed archives"
 msgstr "Tömörített archívumok nem fűzhetők össze"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "a --pax kapcsoló csak POSIX archívumokon használható"
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Üres archívum létrehozása visszautasítva"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
-msgstr "Az \"-Aru\" kapcsolók összeférhetetlenek a \"-f\" kapcsolóval"
+msgstr "Az „-Aru” kapcsolók összeférhetetlenek a „-f” kapcsolóval"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
-msgstr "A következő kapcsolók közül egyikét meg kell adnia: \"-Acdtrux\""
+msgstr "A következő kapcsolók közül egyikét meg kell adnia: „-Acdtrux”"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "A hibás kilépés késleltetve a korábbi hibákból"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, c-format
@@ -2292,84 +2339,84 @@ msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: A fájl zsugorítva %s bájttal"
 msgstr[1] "%s: A fájl zsugorítva %s bájttal"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "A(z) %s kulcsszó ismeretlen vagy még nincs megvalósítva"
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "A(z) %s minta nem használható"
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "A(z) %s minta nem bírálható felül"
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr "Rosszul formázott kiterjesztett fejléc: a hossz hiányzik"
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr "A kiterjesztett fejléc hossza kívül esik a tartományon"
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "A kiterjesztett fejléc %*s hossza kívül esik a tartományon"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 "Rosszul formázott kiterjesztett fejléc: a hossz után hiányzik egy üreshely "
 "karakter"
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr "A kiterjesztett fejléc hibás: egy egyenlőségjel hiányzik"
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr "Rosszul formázott kiterjesztett fejléc: az újsor hiányzik"
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr ""
-"A(z) \"%s\" ismeretlen kiterjesztett fejléc kulcsszó figyelmen kívül marad"
+"A(z) „%s” ismeretlen kiterjesztett fejléc kulcsszó figyelmen kívül marad"
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, 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:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Rosszul formázott kiterjesztett fejléc: érvénytelen %s=%s"
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Rosszul formázott kiterjesztett fejléc: többlet %s=%s"
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, 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:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2549,98 +2596,115 @@ msgstr "A szám kívül esik az engedélyezett tartományon: %s"
 msgid "Negative size: %s"
 msgstr "Negatív méret: %s"
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr "a stat(%s) meghiúsult"
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
-msgstr "Hiba a(z) \"%s\" közelében található szám elemzésekor"
+msgstr "Hiba a(z) „%s” közelében található szám elemzésekor"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, c-format
 msgid "Unknown date format"
 msgstr "Ismeretlen dátumformátum"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr "[ARGUMENTUMOK...]"
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
-msgstr "a(z) \"%s\" nem nyitható meg"
+msgstr "a(z) „%s” nem nyitható meg"
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 msgid "cannot seek"
 msgstr "Nem lehet pozicionálni"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr "a fájlnév null karaktert tartalmaz"
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, 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:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
-msgstr "helytelen maszk (a(z) \"%s\" közelében)"
+msgstr "helytelen maszk (a(z) „%s” közelében)"
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, c-format
 msgid "Unknown field `%s'"
-msgstr "Ismeretlen mező: \"%s\""
+msgstr "Ismeretlen mező: „%s”"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, c-format
 msgid "cannot set time on `%s'"
-msgstr "nem állítható be az idő a következőn: \"%s\""
+msgstr "nem állítható be az idő a következőn: „%s”"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "A parancs sikeresen befejeződött\n"
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "A parancs meghiúsult a következő állapottal: %d\n"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, 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:815
+#: tests/genfile.c:813
 #, 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:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr "A parancs hibakeresési kimenetet adott vissza\n"
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr "A parancs befejeződött\n"
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, c-format
 msgid "--stat requires file names"
 msgstr "a --stat fájlneveket igényel"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr "túl sok argumentum"
+
+#, fuzzy
+#~ msgid "cancel effect of the previous --transform-links option"
+#~ msgstr "a --delay-directory-restore kapcsoló hatásának megszüntetése"
+
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "A hibás kilépés késleltetve a korábbi hibákból"
index 8b76ff6be636924f5ef65bbe7a850c7d870b5b38..7d38bc92180f226dc6d8b8235f56a34792d5ab84 100644 (file)
Binary files a/po/id.gmo and b/po/id.gmo differ
index 38fc3fe4b7314c05aeb4b9106e12c21a46560806..fa65a8ec881f79b1b1832dc1486e078f21face99 100644 (file)
--- a/po/id.po
+++ b/po/id.po
@@ -1,29 +1,31 @@
-# tar-1.13.25 (Indonesian)
+# Pesan bahasa indonesia untuk tar
 # 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.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.13.25\n"
+"Project-Id-Version: tar 1.20\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
-"PO-Revision-Date: 2002-07-24 22:02GMT+0700\n"
-"Last-Translator: Tedi Heriyanto <tedi_h@gmx.net>\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
+"PO-Revision-Date: 2008-11-09 16:15+0700\n"
+"Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
 "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 0.9.5\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
 #: lib/argmatch.c:133
 #, c-format
 msgid "invalid argument %s for %s"
-msgstr "argumen tidak valid %s untuk %s"
+msgstr "argumen %s untuk %s tidak valid"
 
 #: lib/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
-msgstr "argumen rancu %s untuk %s"
+msgstr "argumen %s untuk %s ambigu"
 
 #: lib/argmatch.c:153
 #, c-format
@@ -33,180 +35,177 @@ msgstr "Argumen yang valid adalah:"
 #: lib/argp-help.c:147
 #, c-format
 msgid "ARGP_HELP_FMT: %s value is less than or equal to %s"
-msgstr ""
+msgstr "ARGP_HELP_FMT: %s nilai lebih kecil atau sama dengan %s"
 
 #: lib/argp-help.c:220
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
-msgstr ""
+msgstr "%.*s: ARGP_HELP_FMT parameter membutuhkan sebuah nilai"
 
 #: lib/argp-help.c:226
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
-msgstr ""
+msgstr "%.*s: ARGP_HELP_FMT parameter harus positif"
 
 #: lib/argp-help.c:235
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
-msgstr ""
+msgstr "%.*s: Parameter ARGP_HELP_FMT tidak diketahui"
 
 #: lib/argp-help.c:247
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
-msgstr ""
+msgstr "Sampah dalam ARGP_HELP_FMT: %s"
 
 #: lib/argp-help.c:1246
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
 msgstr ""
+"Argumen wajib atau opsional ke opsi panjang juga wajib atau opsional untuk "
+"argumen pendek yang berkorespondennya."
 
 #: lib/argp-help.c:1639
 msgid "Usage:"
-msgstr ""
+msgstr "Penggunaan:"
 
 #: lib/argp-help.c:1643
 msgid "  or: "
-msgstr ""
+msgstr "  atau: "
 
 #: lib/argp-help.c:1655
-#, fuzzy
 msgid " [OPTION...]"
-msgstr ""
-"\n"
-"Gunakan: %s [OPTION]...\n"
+msgstr " [OPSI...]"
 
 #: lib/argp-help.c:1682
-#, fuzzy, c-format
+#, c-format
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
-msgstr "Ketik `%s --help' untuk informasi lebih lengkap.\n"
+msgstr "Coba `%s --help' atau `%s --usage' untuk informasi lebih lanjut.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
-#, fuzzy, c-format
+#: lib/argp-help.c:1710 src/tar.c:1255
+#, c-format
 msgid "Report bugs to %s.\n"
-msgstr ""
-"\n"
-"Laporkan bug kepada <bug-tar@gnu.org>.\n"
+msgstr "Laporkan bug ke %s.\n"
 
 #: lib/argp-help.c:1929 lib/error.c:125
 msgid "Unknown system error"
 msgstr "Kesalahan sistem tidak dikenal"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
-msgstr ""
+msgstr "berikan daftar bantuan ini"
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
-msgstr ""
+msgstr "berikan sebuah pesan penggunaan singkat"
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
-msgstr ""
+msgstr "NAMA"
 
 #: lib/argp-parse.c:83
 msgid "set the program name"
-msgstr ""
+msgstr "set nama aplikasi"
 
 #: lib/argp-parse.c:84
 msgid "SECS"
-msgstr ""
+msgstr "SECS"
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
-msgstr ""
+msgstr "berhenti untuk DETIK detik (baku 3600)"
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
-msgstr ""
+msgstr "tampilkan versi aplikasi"
 
 #: lib/argp-parse.c:158
 #, c-format
 msgid "(PROGRAM ERROR) No version known!?"
-msgstr ""
+msgstr "(APLIKASI ERROR) Tidak ada versi yang dikenal!?"
 
 #: lib/argp-parse.c:611
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Too many arguments\n"
-msgstr "%s: option `%s' membutuhkan sebuah argumen\n"
+msgstr "%s: Terlalu banyak argumen\n"
 
 #: lib/argp-parse.c:754
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
-msgstr ""
+msgstr "(APLIKASI ERROR) Opsi seharusnya telah dikenali!?"
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
-msgstr ""
+msgstr "error menulis"
 
 #: lib/getopt.c:526 lib/getopt.c:542
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: option `%s' rancu\n"
+msgstr "%s: opsi `%s' ambigu\n"
 
 #: lib/getopt.c:575 lib/getopt.c:579
 #, c-format
 msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: option `--%s' tidak membolehkan sebuah argumen\n"
+msgstr "%s: opsi `--%s' tidak mengijinkan sebuah argumen\n"
 
 #: lib/getopt.c:588 lib/getopt.c:593
 #, c-format
 msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: option `%c%s' tidak membolehkan sebuah argumen\n"
+msgstr "%s: opsi `%c%s' tidak mengijinkan sebuah argumen\n"
 
 #: lib/getopt.c:636 lib/getopt.c:655 lib/getopt.c:971 lib/getopt.c:990
 #, c-format
 msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: option `%s' membutuhkan sebuah argumen\n"
+msgstr "%s: opsi `%s' membutuhkan sebuah argumen\n"
 
 #: lib/getopt.c:693 lib/getopt.c:696
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: option tidak dikenal `--%s'\n"
+msgstr "%s: opsi tidak dikenal `--%s'\n"
 
 #: lib/getopt.c:704 lib/getopt.c:707
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: option tidak dikenal `%c%s'\n"
+msgstr "%s: opsi tidak dikenal `%c%s'\n"
 
 #: lib/getopt.c:759 lib/getopt.c:762
 #, c-format
 msgid "%s: illegal option -- %c\n"
-msgstr "%s: option ilegal -- %c\n"
+msgstr "%s: opsi -- %c tidak legal\n"
 
 #: lib/getopt.c:768 lib/getopt.c:771
 #, c-format
 msgid "%s: invalid option -- %c\n"
-msgstr "%s: option tidak valid -- %c\n"
+msgstr "%s: opsi -- %c tidak valid\n"
 
 #: lib/getopt.c:823 lib/getopt.c:839 lib/getopt.c:1043 lib/getopt.c:1061
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: option membutuhkan sebuah argumen -- %c\n"
+msgstr "%s: opsi membutuhkan sebuah argumen -- %c\n"
 
 #: lib/getopt.c:892 lib/getopt.c:908
 #, c-format
 msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: option `-W %s' rancu\n"
+msgstr "%s: opsi `-W %s' ambigu\n"
 
 #: lib/getopt.c:932 lib/getopt.c:950
 #, c-format
 msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: option `-W %s' tidak membolehkan sebuah argumen\n"
+msgstr "%s: opsi `-W %s' tidak mengijinkan sebuah argumen\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
-msgstr "Memory habis"
+msgstr "kehabisan memori"
 
-#: lib/openat-die.c:33
-#, fuzzy, c-format
+#: lib/openat-die.c:35
+#, c-format
 msgid "unable to record current working directory"
-msgstr "Tidak bisa pindah direktori kerja"
+msgstr "tidak dapat menyimpan direktori kerja sekarang"
 
-#: lib/openat-die.c:46
-#, fuzzy, c-format
+#: lib/openat-die.c:48
+#, c-format
 msgid "failed to return to initial working directory"
-msgstr "Tidak dapat menyimpan direktori kerja"
+msgstr "gagal untuk kembali ke direktori kerja inisial"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -242,18 +241,18 @@ msgid "%s: Cannot hard link to %s"
 msgstr "%s: Tidak dapat membuat hard link ke %s"
 
 #: lib/paxerror.c:179 lib/paxerror.c:211
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Read error at byte %s, while reading %lu byte"
 msgid_plural "%s: Read error at byte %s, while reading %lu bytes"
-msgstr[0] "%s:Kesalahan pembacaan pada byte %s, terbaca %lu byte"
-msgstr[1] "%s:Kesalahan pembacaan pada byte %s, terbaca %lu byte"
+msgstr[0] "%s: Error pembacaan di byte %s, ketika membaca %lu byte"
+msgstr[1] "%s: Error pembacaan di byte %s, ketika membaca %lu byte"
 
 #: lib/paxerror.c:192
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Warning: Read error at byte %s, while reading %lu byte"
 msgid_plural "%s: Warning: Read error at byte %s, while reading %lu bytes"
-msgstr[0] "%s: Peringatan: Kesalahan pembacaan pada byte %s, terbaca %lu byte"
-msgstr[1] "%s: Peringatan: Kesalahan pembacaan pada byte %s, terbaca %lu byte"
+msgstr[0] "%s: Peringatan: Error pembacaan di byte %s, ketika membaca %lu byte"
+msgstr[1] "%s: Peringatan: Error pembacaan di byte %s, ketika membaca %lu byte"
 
 #: lib/paxerror.c:259
 #, c-format
@@ -271,30 +270,29 @@ msgid "%s: Cannot create symlink to %s"
 msgstr "%s: Tidak dapat membuat symlink ke %s"
 
 #: lib/paxerror.c:349
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Wrote only %lu of %lu byte"
 msgid_plural "%s: Wrote only %lu of %lu bytes"
 msgstr[0] "%s: Hanya dapat menulis %lu dari %lu byte"
 msgstr[1] "%s: Hanya dapat menulis %lu dari %lu byte"
 
 #: lib/paxnames.c:155
-#, fuzzy, c-format
+#, c-format
 msgid "Removing leading `%s' from member names"
-msgstr "Menghilangkan awalan `%.*s' dari nama anggota"
+msgstr "Menghilangkan awalan `%s' dari nama anggota"
 
 #: lib/paxnames.c:156
-#, fuzzy, c-format
+#, c-format
 msgid "Removing leading `%s' from hard link targets"
-msgstr "Menghilangkan awalan `%.*s' dari nama anggota"
+msgstr "Menghilangkan awalan `%s' dari target hard link"
 
 #: lib/paxnames.c:169
-#, fuzzy
 msgid "Substituting `.' for empty member name"
-msgstr "Menghilangkan awalan `%.*s' dari nama anggota"
+msgstr "Mengganti `.' untuk nama anggota kosong"
 
 #: lib/paxnames.c:170
 msgid "Substituting `.' for empty hard link target"
-msgstr ""
+msgstr "Mengganti `.' untuk target hard link kosong"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
@@ -323,13 +321,25 @@ msgstr "`"
 msgid "'"
 msgstr "'"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
-msgstr ""
-
-#: lib/rpmatch.c:72
+msgstr "^[yY]"
+
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
-msgstr ""
+msgstr "^[nN]"
 
 #: lib/rtapelib.c:299
 #, c-format
@@ -356,7 +366,7 @@ msgstr "Tidak dapat menjalankan remote shell"
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
 #: lib/version-etc.c:65
 msgid "(C)"
-msgstr ""
+msgstr "(C)"
 
 #: lib/version-etc.c:67
 msgid ""
@@ -367,24 +377,32 @@ msgid ""
 "There is NO WARRANTY, to the extent permitted by law.\n"
 "\n"
 msgstr ""
+"\n"
+"Lisensi GPLv3+: GNU GPL versi 3 atau lebih <http://gnu.org/licenses/gpl."
+"html>\n"
+"Ini adalah aplikasi bebas: anda bebas untuk mengubah dan "
+"mendistribusikannya.\n"
+"TIDAK ADA GARANSI disini, sampai batas yang diijinkan oleh hukum yang "
+"berlaku.\n"
+"\n"
 
 #. TRANSLATORS: %s denotes an author name.
 #: lib/version-etc.c:83
-#, fuzzy, c-format
+#, c-format
 msgid "Written by %s.\n"
-msgstr "Ditulis oleh F. Pinard"
+msgstr "Ditulis oleh %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #: lib/version-etc.c:87
-#, fuzzy, c-format
+#, c-format
 msgid "Written by %s and %s.\n"
-msgstr "Ditulis oleh F. Pinard"
+msgstr "Ditulis oleh %s dan %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #: lib/version-etc.c:91
-#, fuzzy, c-format
+#, c-format
 msgid "Written by %s, %s, and %s.\n"
-msgstr "Ditulis oleh F. Pinard"
+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
@@ -395,6 +413,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "and %s.\n"
 msgstr ""
+"Ditulis oleh %s, %s, %s,\n"
+"dan %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -405,6 +425,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "%s, and %s.\n"
 msgstr ""
+"Ditulis oleh %s, %s, %s,\n"
+"%s, dan %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -415,6 +437,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, and %s.\n"
 msgstr ""
+"Ditulis oleh %s, %s, %s,\n"
+"%s, %s, dan %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -425,6 +449,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, %s, and %s.\n"
 msgstr ""
+"Ditulis oleh %s, %s, %s,\n"
+"%s, %s, %s, dan %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -436,6 +462,9 @@ msgid ""
 "%s, %s, %s, %s,\n"
 "and %s.\n"
 msgstr ""
+"Ditulis oleh %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"dan %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -447,6 +476,9 @@ msgid ""
 "%s, %s, %s, %s,\n"
 "%s, and %s.\n"
 msgstr ""
+"Ditulis oleh %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, dan %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -458,14 +490,17 @@ msgid ""
 "%s, %s, %s, %s,\n"
 "%s, %s, and others.\n"
 msgstr ""
+"Ditulis oleh %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, %s, dan yang lainnya.\n"
 
 #: rmt/rmt.c:142
 msgid "Input string too long"
-msgstr ""
+msgstr "Masukan string terlalu panjang"
 
 #: rmt/rmt.c:161
 msgid "Number syntax error"
-msgstr ""
+msgstr "Sintaks jumlah error"
 
 #: rmt/rmt.c:180
 msgid "rmtd: Cannot allocate buffer space\n"
@@ -478,10 +513,10 @@ msgstr "Tidak dapat mengalokasi buffer space"
 #: rmt/rmt.c:304
 #, c-format
 msgid "Try `%s --help' for more information.\n"
-msgstr "Ketik `%s --help' untuk informasi lebih lengkap.\n"
+msgstr "Coba `%s --help' untuk informasi lebih lanjut.\n"
 
 #: rmt/rmt.c:308
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Usage: %s [OPTION]\n"
 "Manipulate a tape drive, accepting commands from a remote process.\n"
@@ -489,33 +524,32 @@ msgid ""
 "  --version  Output version info.\n"
 "  --help     Output this help.\n"
 msgstr ""
-"Penggunaan: %s [OPTION]\n"
+"Penggunaan: %s [OPSI]\n"
 "Manipulasi sebuah tape drive, menerima perintah dari proses remote.\n"
 "\n"
-"  --version  Tampilkan info versi.\n"
-"  --help  Tampilkan bantuan ini.\n"
+"  --version  Tampilkan informasi versi.\n"
+"  --help     Tampilkan bantuan ini.\n"
 
 #: rmt/rmt.c:315
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "\n"
 "Report bugs to <%s>.\n"
 msgstr ""
 "\n"
-"Laporkan bug kepada <bug-tar@gnu.org>.\n"
+"Laporkan bug ke <%s>.\n"
 
 #: rmt/rmt.c:397
-#, fuzzy
 msgid "Seek offset error"
-msgstr "Offset pencarian di luar batasan"
+msgstr "Offset pencarian error"
 
 #: rmt/rmt.c:406 rmt/rmt.c:547 rmt/rmt.c:557
 msgid "Seek offset out of range"
-msgstr "Offset pencarian di luar batasan"
+msgstr "Offset pencarian di luar jangkauan"
 
 #: rmt/rmt.c:428
 msgid "Seek direction out of range"
-msgstr "Arah pencarian di luar batasan"
+msgstr "Arah pencarian di luar jangkauan"
 
 #: rmt/rmt.c:472
 msgid "rmtd: Premature eof\n"
@@ -523,186 +557,193 @@ msgstr "rmtd: EOF prematur\n"
 
 #: rmt/rmt.c:474
 msgid "Premature end of file"
-msgstr "Akhir file prematur"
+msgstr "Akhir dari berkas prematur"
 
 #: rmt/rmt.c:672
 msgid "Garbage command"
-msgstr "Command tidak terpakai"
+msgstr "Perintah sampah"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
-msgstr "Sepertinya bukan tar archive"
+msgstr "Ini sepertinya bukan sebuah tar archive"
 
-#: src/buffer.c:333 src/buffer.c:342
-#, fuzzy
+#: src/buffer.c:352 src/buffer.c:361
 msgid "Total bytes written"
-msgstr "Total byte ditulis: %s (%sB, %sB/s)\n"
+msgstr "Total byte ditulis"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
-msgstr ""
+msgstr "Total byte dibaca"
 
-#: src/buffer.c:344
-#, fuzzy, c-format
+#: src/buffer.c:363
+#, c-format
 msgid "Total bytes deleted: %s\n"
-msgstr "Total byte ditulis: %s (%sB, %sB/s)\n"
+msgstr "Total byte dihapus: %s\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(pipe)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
-msgstr "Nilai record_size salah"
+msgstr "Nilai record_size tidak valid"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Tidak diberikan nama archive"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
-msgstr "Tidak dapat verifikasi stdin/stdout archive"
+msgstr "Tidak dapat memverifikasi stdin/stdout archive"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
-msgstr ""
+msgstr "Archive terkompres. Gunakan %s opsi"
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Tidak dapat update compressed archives"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
-msgstr "Berada pada awal tape, keluar"
+msgstr "Berada pada awal tape, berhenti sekarang"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
-msgstr "Terlalu banyak kesalahan, keluar"
-
-#: src/buffer.c:678
-#, fuzzy, 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"
+msgstr "Terlalu banyak errors, berhenti"
 
-#: src/buffer.c:698
-#, fuzzy, c-format
+#: src/buffer.c:695
+#, 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:771
+#: src/buffer.c:716
+#, 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:793
 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:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
-msgstr ""
+msgstr "rmtlseek tidak dapat berhenti di sebuah batas rekaman"
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: berisi nomor volum yang tidak valid"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Nomor volum overflow"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Mempersiapkan volume #%d untuk %s dan tekan return: "
 
-#: src/buffer.c:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "EOF pada saat user reply diharapkan"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "PERINGATAN: Archive tidak lengkap"
 
-#: src/buffer.c:934
-#, fuzzy, c-format
+#: src/buffer.c:954
+#, 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 [name]   Memberi nama baru pada file untuk volume selanjutnya\n"
-" q          Batalkan tar\n"
-" !          Spawn subshell\n"
-" ?          Cetak keterangn ini\n"
+" n nama        Memberi sebuah nama berkas baru untuk volume selanjutnya (dan "
+"seterusnya)\n"
+" q             Batalkan tar\n"
+" y or newline  Lanjutkan operasi\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
-msgstr ""
+msgstr " !             Spawn sebuah subshell\n"
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
-msgstr ""
+msgstr " ?             Tampilkan daftar ini\n"
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Tidak ada new volume; keluar.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
-msgstr ""
+msgstr "Nama berkas tidak dispesifikasikan. Coba lagi.\n"
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
-msgstr ""
+msgstr "Masukan tidak valid. Ketik ? untuk bantuan.\n"
 
-#: src/buffer.c:1044
-#, fuzzy, c-format
+#: src/buffer.c:1064
+#, c-format
 msgid "%s command failed"
-msgstr "Perintah `%s' gagal"
+msgstr "Perintah %s gagal"
 
-#: src/buffer.c:1199
-#, fuzzy, c-format
+#: src/buffer.c:1219
+#, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
-msgstr "%s tidak dilanjutkan pada volume ini"
+msgstr "%s mungkin dilanjutkan di volume ini: header berisi nama terpotong"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
-msgstr "%s tidak dilanjutkan pada volume ini"
+msgstr "%s tidak dilanjutkan di volume ini"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s adalah ukuran yang salah (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Volume ini di luar urutan"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
-msgstr "Label archive tidak cocok dengan '%s'"
+msgstr "Label archive tidak cocok dengan %s"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Volume %s tidak sesuai dengan %s"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
+"%s: nama berkas terlalu panjang untuk diurutkan dalam sebuah GNU multivolume "
+"header, dipotong"
+
+#: src/buffer.c:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "rmtlseek tidak dapat berhenti di sebuah batas rekaman"
 
 #: 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] "Hanya dapat membaca %lu dari %lu byte"
@@ -712,14 +753,14 @@ msgstr[1] "Hanya dapat membaca %lu dari %lu byte"
 msgid "Contents differ"
 msgstr "Isi berbeda"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Unexpected EOF dalam archive"
 
 #: src/compare.c:180 src/compare.c:196 src/compare.c:314 src/compare.c:412
 msgid "File type differs"
-msgstr "Tipe file berbeda"
+msgstr "Tipe berkas berbeda"
 
 #: src/compare.c:183 src/compare.c:203 src/compare.c:328
 msgid "Mode differs"
@@ -752,7 +793,7 @@ msgstr "Symlink berbeda"
 
 #: src/compare.c:322
 msgid "Device number differs"
-msgstr "Nomor device berbeda"
+msgstr "Nomor perangkat berbeda"
 
 #: src/compare.c:462
 #, c-format
@@ -760,79 +801,80 @@ msgid "Verify "
 msgstr "Verifikasi "
 
 #: src/compare.c:469
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Unknown file type `%c', diffed as normal file"
-msgstr "%s:File type '%c' tidak dikenal, lakukan diff sebagai file normal"
+msgstr "%s: Tipe berkas '%c' tidak dikenal, lakukan diff sebagai berkas normal"
 
 #: src/compare.c:524
 msgid "Archive contains file names with leading prefixes removed."
-msgstr ""
+msgstr "Archive berisi nama berkas dengan awalan dihapus."
 
 #: src/compare.c:526
 msgid "Verification may fail to locate original files."
-msgstr ""
+msgstr "Verifikasi mungkin gagal untuk menemukan berkas orisinil."
 
 #: src/compare.c:596
-#, fuzzy, c-format
+#, c-format
 msgid "VERIFY FAILURE: %d invalid header detected"
 msgid_plural "VERIFY FAILURE: %d invalid headers detected"
-msgstr[0] "GAGAL VERIFIKASI: ditemukan %d invalid header"
-msgstr[1] "GAGAL VERIFIKASI: ditemukan %d invalid header"
+msgstr[0] "GAGAL VERIFIKASI: header %d tidak valid terdeteksi"
+msgstr[1] "GAGAL VERIFIKASI: header %d tidak valid terdeteksi"
 
 #: src/compare.c:612 src/list.c:144
 #, c-format
 msgid "A lone zero block at %s"
-msgstr ""
+msgstr "Sebuah lone blok nol di %s"
 
 #: src/create.c:67
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
-msgstr ""
+msgstr "%s: berisi sebuah cache direktori tag %s; %s"
 
 #: src/create.c:272
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
-msgstr "nilai %s dari %s di luar daerah %s..%s; mengganti %s"
+msgstr "nilai %s dari %s di luar jangkauan %s..%s; menggantikan %s"
 
 #: src/create.c:278
 #, c-format
 msgid "value %s out of %s range %s..%s"
-msgstr "nilai %s dari %s di luar daerah %s..%s"
+msgstr "nilai %s dari %s di luar dari jangkauan %s..%s"
 
 #: src/create.c:338
 msgid "Generating negative octal headers"
 msgstr "Membuat header oktal negatif"
 
 #: src/create.c:624 src/create.c:687
-#, fuzzy, c-format
+#, c-format
 msgid "%s: file name is too long (max %d); not dumped"
-msgstr "%s: file tidak berubah; tidak di-dump"
+msgstr "%s: nama berkas terlalu panjang (maksimal %d); tidak di-dump"
 
 #: src/create.c:634
-#, fuzzy, c-format
+#, c-format
 msgid "%s: file name is too long (cannot be split); not dumped"
-msgstr "%s: file tidak berubah; tidak di-dump"
+msgstr ""
+"%s: nama berkas terlalu panjang (tidak dapat memisahkan); tidak di-dump"
 
 #: src/create.c:661
-#, fuzzy, c-format
+#, c-format
 msgid "%s: link name is too long; not dumped"
-msgstr "%s: file tidak berubah; tidak di-dump"
+msgstr "%s: nama link terlalu panjang; tidak di-dump"
 
 #: src/create.c:1076
-#, fuzzy, c-format
+#, 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 diperkecil %s byte, dipadding dengan nol"
-msgstr[1] "%s: File diperkecil %s byte, dipadding dengan nol"
+msgstr[0] "%s: File diperkecil %s byte; dipadding dengan nol"
+msgstr[1] "%s: File diperkecil %s byte; dipadding dengan nol"
 
 #: src/create.c:1177
 #, 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:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
-msgstr ""
+msgstr "isi tidak didump"
 
 #: src/create.c:1361
 #, c-format
@@ -840,33 +882,33 @@ msgid "%s: Unknown file type; file ignored"
 msgstr "%s: Tipe file tidak dikenal; file diabaikan"
 
 #: src/create.c:1464
-#, fuzzy, c-format
+#, c-format
 msgid "Missing links to %s.\n"
-msgstr " link ke %s\n"
+msgstr "Hilang link ke %s.\n"
 
 #: src/create.c:1535
 #, c-format
 msgid "%s: file is unchanged; not dumped"
-msgstr "%s: file tidak berubah; tidak di-dump"
+msgstr "%s: berkas tidak berubah; tidak di-dump"
 
 #: src/create.c:1543
 #, c-format
 msgid "%s: file is the archive; not dumped"
-msgstr "%s: file adalah archive; tidak di-dump"
+msgstr "%s: berkas adalah archive; tidak di-dump"
 
 #: src/create.c:1573
 #, c-format
 msgid "%s: File removed before we read it"
 msgstr "%s: File dihapus sebelum kita membacanya"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
-msgstr ""
+msgstr "direktori tidak didump"
 
 #: src/create.c:1659
 #, c-format
 msgid "%s: file changed as we read it"
-msgstr "%s: file berubah saat kita membacanya"
+msgstr "%s: berkas berubah saat kita membacanya"
 
 #: src/create.c:1739
 #, c-format
@@ -889,12 +931,12 @@ msgstr "Menghapus non-header dari archive"
 #: src/extract.c:198
 #, c-format
 msgid "%s: implausibly old time stamp %s"
-msgstr ""
+msgstr "%s: implausibly penanda waktu lama %s"
 
 #: src/extract.c:215
-#, fuzzy, c-format
+#, c-format
 msgid "%s: time stamp %s is %s s in the future"
-msgstr "%s: time stamp %s adalah %lu dalam masa datang"
+msgstr "%s: penanda %s adalah %s dalam masa datang"
 
 #: src/extract.c:395
 #, c-format
@@ -910,168 +952,166 @@ msgstr "%s: Direktori diganti nama sebelum statusnya dapat diperoleh"
 msgid "Extracting contiguous files as regular files"
 msgstr "Sedang extract contiguous file sebagai regular file"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Mencoba extract symbolic link sebagai hard link"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Membaca %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
-msgstr "%s: Tidak dapat mengekstrak -- file adalah kelanjutan dari volume lain"
+msgstr ""
+"%s: Tidak dapat mengekstrak -- berkas adalah kelanjutan dari volume lain"
 
-#: src/extract.c:1153 src/list.c:1081
-#, fuzzy
+#: src/extract.c:1150 src/list.c:1090
 msgid "Unexpected long name header"
-msgstr "Unexpected EOF dalam mangled names"
+msgstr "Tidak terduga nama header panjang"
 
-#: src/extract.c:1159
-#, fuzzy, c-format
+#: src/extract.c:1156
+#, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
-msgstr "%s: Tipe file tidak dikenal '%c', diekstraksi sebagai file normal"
+msgstr "%s: Tipe berkas tidak dikenal '%c', diekstraksi sebagai berkas normal"
 
-#: src/extract.c:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
-msgstr ""
+msgstr "Saat ini %s adalah lebih baru atau berumuran sama"
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
-msgstr "%s: Tidak dapat melakukan backup file ini"
+msgstr "%s: Tidak dapat melakukan backup berkas ini"
 
-#: src/extract.c:1358
-#, fuzzy, c-format
+#: src/extract.c:1355
+#, c-format
 msgid "Cannot rename %s to %s"
-msgstr "%s:Tidak dapat mengganti nama ke %s"
+msgstr "Tidak dapat mengubah nama %s ke %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
-msgstr "Kesalahan tidak dapat diperbaiki, keluar"
+msgstr "Error tidak dapat diperbaiki: keluar sekarang"
 
-#: src/incremen.c:390 src/incremen.c:430
-#, fuzzy, c-format
+#: src/incremen.c:445 src/incremen.c:489
+#, c-format
 msgid "%s: Directory has been renamed from %s"
-msgstr "%s: Direktori telah diganti nama"
+msgstr "%s: Direktori telah diubah nama dari %s"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Direktori telah diganti nama"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Direktori adalah baru"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Time stamp tidak valid"
 
-#: src/incremen.c:889
-#, fuzzy
+#: src/incremen.c:949
 msgid "Invalid modification time (seconds)"
-msgstr "Mode tidak tepat diberikan pada opsi"
+msgstr "Waktu modifikasi (detik) tidak valid"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
-msgstr ""
+msgstr "waktu modifikasi (nano detik) tidak valid"
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
-msgstr "Nomor device tidak valid"
+msgstr "Nomor perangkat tidak valid"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Nomor inode tidak valid"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
-msgstr ""
+msgstr "Field terlalu panjang ketika membaca berkas snapshot"
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
-msgstr ""
+msgstr "Pembacaan error dalam berkas snapshot"
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
-#, fuzzy
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 msgid "Unexpected EOF in snapshot file"
-msgstr "Unexpected EOF dalam archive"
+msgstr "Tidak terduga EOF dalam berkas snapshot"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
-msgstr ""
+msgstr "Tidak terduga nilai field dalam berkas snapshot"
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
-msgstr ""
+msgstr "Hilang pengakhir rekaman"
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
-msgstr ""
+msgstr "Format berkas incremental buruk"
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
-msgstr ""
+msgstr "Versi format incremental tidak didukung: %<PRIuMAX>"
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
-msgstr ""
+msgstr "Salah bentuk dumpdir: diduga '%c' tetapi ditemukan %#3o"
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
-msgstr ""
+msgstr "Salah bentuk dumpdir: 'X' terduplikasi"
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
-msgstr ""
+msgstr "Salah bentuk dumpdir: nama kosong dalam 'R'"
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
-msgstr ""
+msgstr "Salah bentuk dumpdir: 'T' tidak diawali oleh 'R'"
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
-msgstr ""
+msgstr "Salah bentuk dumpdir: nama kosong dalam 'T'"
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
-msgstr ""
+msgstr "Salah bentuk dumpdir: diduga '%c' tetapi ditemukan akhir dari data"
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
-msgstr ""
+msgstr "Salah bentuk dumpdir: 'X' tidak pernah digunakan"
 
-#: src/incremen.c:1481
-#, fuzzy, c-format
+#: src/incremen.c:1541
+#, c-format
 msgid "Cannot create temporary directory using template %s"
-msgstr "Tidak dapat mengalokasi memori untuk faktor blocking %d"
+msgstr "Tidak dapat membuat direktori sementara menggunakan template %s"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
-msgstr ""
+msgstr "%s: Tidak menghapus direktori: tidak dapat memperoleh statistik"
 
-#: src/incremen.c:1556
-#, fuzzy, c-format
+#: src/incremen.c:1616
+#, c-format
 msgid "%s: directory is on a different device: not purging"
-msgstr "%s: file berada pada filesistem yang berbeda; tidak di-dump"
+msgstr "%s: direktori berada di perangkat yang berbeda: tidak menghapus"
 
-#: src/incremen.c:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Menghapus %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Tidak dapat menghapus"
@@ -1079,98 +1119,98 @@ msgstr "%s: Tidak dapat menghapus"
 #: src/list.c:113
 #, c-format
 msgid "%s: Omitting"
-msgstr "%s: Menghilangkan"
+msgstr "%s: Mengabaikan"
 
 #: src/list.c:131
 #, c-format
 msgid "block %s: ** Block of NULs **\n"
-msgstr "blok %s: ** Block NULs **\n"
+msgstr "blok %s: ** Blok dari KOSONG **\n"
 
 #: src/list.c:155
 #, c-format
 msgid "block %s: ** End of File **\n"
-msgstr "blok %s: ** Akhir file **\n"
+msgstr "blok %s: ** Akhir dari Berkas **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
-msgstr "Blank dalam header saat diharapkan nilai %s numerik"
+msgstr "Kosong dalam header saat diharapkan nilai %s numerik"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:717
+#: src/list.c:726
 #, 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:728
+#: src/list.c:737
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Nilai oktal arsip %.*s di luar batasan %s"
 
-#: src/list.c:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arsip berisikan header base-64 yang kadaluarsas"
 
-#: src/list.c:763
+#: src/list.c:772
 #, 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:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, 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:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " link ke %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " tipe file tidak dikenal %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
-msgstr ""
+msgstr "--Link Panjang--\n"
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
-msgstr ""
+msgstr "--Nama Panjang--\n"
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Volume Header--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Diteruskan pada byte %s--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Membuat direktori:"
 
@@ -1207,37 +1247,39 @@ msgstr "saluran interproses"
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
-msgstr ""
+msgstr "Pola pencocokan karakter digunakan dalam nama berkas. Mohon,"
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
+"gunakan --wildcards untuk mengaktifkan pencocokan pola, atau --no-wildcards "
+"untuk"
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
-msgstr ""
+msgstr "menekan peringatan ini."
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Tidak ditemukan dalam archive"
 
-#: src/names.c:621
-#, fuzzy, c-format
+#: src/names.c:615
+#, c-format
 msgid "%s: Required occurrence not found in archive"
-msgstr "%s: Tidak ditemukan dalam archive"
+msgstr "%s: Kejadian yang diinginkan tidak ditemukan dalam archive"
 
 #: src/tar.c:79
 #, c-format
 msgid "Options `-%s' and `-%s' both want standard input"
-msgstr "Opsi `-%s' dan `-%s' membutuhkan standard input"
+msgstr "Opsi `-%s' dan `-%s' membutuhkan standard masukan"
 
 #: src/tar.c:156
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Invalid archive format"
-msgstr "%s: grup tidak valid"
+msgstr "%s: Format archive tidak valid"
 
 #: src/tar.c:180
 msgid "GNU features wanted on incompatible archive format"
@@ -1248,9 +1290,10 @@ msgstr "Feature GNU dibutuhkan untuk format archive yang tidak kompatibel"
 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 "
+"memperoleh daftar."
 
-#: src/tar.c:334
-#, fuzzy
+#: src/tar.c:336
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1260,17 +1303,17 @@ msgid ""
 "  tar -tvf archive.tar         # List all files in archive.tar verbosely.\n"
 "  tar -xf archive.tar          # Extract all files from archive.tar.\n"
 msgstr ""
-"\n"
-"Penggunaan: %s [OPTION]... [FILE]...\n"
+"GNU `tar' menyimpan beberapa berkas bersama dalam sebuah tape tunggal atau "
+"disk archive, dan dapat dikembalikan ke berkas individu dari archive "
+"tersebut.\n"
 "\n"
 "Contoh:\n"
-"  %s -cf archive.tar foo bar  # Buat archive.tar dari file foo dan bar.\n"
-"  %s -tvf archive.tar         # Tampilkan semua file dalam archive.tar "
+"  tar -cf archive.tar foo bar  # Buat archive.tar dari berkas foo dan bar.\n"
+"  tar -tvf archive.tar         # Tampilkan semua berkas dalam archive.tar "
 "secara rinci.\n"
-"  %s -xf archive.tar          # Bongkar semua file dari archive.tar.\n"
+"  tar -xf archive.tar          # Bongkar semua berkas dari archive.tar.\n"
 
-#: src/tar.c:343
-#, fuzzy
+#: src/tar.c:345
 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 "
@@ -1281,1261 +1324,1338 @@ msgid ""
 "  nil, existing   numbered if numbered backups exist, simple otherwise\n"
 "  never, simple   always make simple backups\n"
 msgstr ""
-"\n"
 "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"
+"Version control dapat diset dengan --backup atau VERSION_CONTROL, nilainya:\n"
 "\n"
-"  t, numbered     gunakan numbered backups\n"
-"  nil, existing   beri nomor bila nomor backup telah ada, simple sebaliknya\n"
-"  never, simple   selalu buat simple backups\n"
+"  none, off       tidak pernah membuat backups\n"
+"  t, numbered     membuat backups bernomor\n"
+"  nil, existing   beri nomor bila nomor backup telah ada, sederhana "
+"sebaliknya\n"
+"  never, simple   selalu buat sederhana backups\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
-msgstr ""
+msgstr "Mode operasi utama:"
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
-msgstr ""
+msgstr "daftar isi dari sebuah archive"
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
-msgstr ""
+msgstr "ekstrak berkas dari sebuah archive"
 
-#: src/tar.c:377
-#, fuzzy
+#: src/tar.c:379
 msgid "create a new archive"
-msgstr "Unexpected EOF dalam archive"
+msgstr "buat sebuah archive baru"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
-msgstr ""
+msgstr "cari perbedaan diantara archive dan sistem berkas"
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
-msgstr ""
+msgstr "tambahkan berkas ke akhir dari sebuah archive"
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
-msgstr ""
+msgstr "hanya tambahkan berkas yang lebih bari dari salinan dalam archive"
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
-msgstr ""
+msgstr "tambahkan berkas tar ke sebuah archive"
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
-msgstr ""
+msgstr "hapus dari archive (bukan dalam pita mag!)"
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
-msgstr ""
+msgstr "test label volume archive dan keluar"
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
-msgstr ""
+msgstr "Pemodifikasi operasi:"
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
-msgstr ""
+msgstr "tangani berkas sparse secara efisien"
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
-msgstr ""
+msgstr "MAJOR[.MINOR]"
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
+"set versi dari format sparse untuk digunakan (mengimplikasikan --sparse)"
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
-msgstr ""
+msgstr "tangani format GNU lama incremental backup"
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
-msgstr ""
+msgstr "BERKAS"
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
-msgstr ""
+msgstr "tangani format GNU barus incremental backup"
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
-msgstr ""
+msgstr "jangan keluar dengan bukan nol dalam berkas tidak dapat dibaca"
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
-msgstr ""
+msgstr "NOMOR"
 
-#: src/tar.c:409
+#: src/tar.c:411
 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 ""
+"proses hanya JUMLAH pertemuan dari setiap berkas dalam archive; opsi ini "
+"hanya berlaku dalam konjungsi dengan satu dari sub perintah --delete, --"
+"diff, --extract atau --list dan ketika sebuah daftar dari berkas diberikan "
+"baik dalam baris perintah atau melalui opsi -T; JUMLAH baku ke 1"
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
-msgstr ""
+msgstr "pencarian tidak dapat dilakukan dalam archive"
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
+"tidak dapat memeriksa nomor perangkat ketika membuat archive incremental"
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
-msgstr ""
+msgstr "periksa nomor perangkat ketika membuat incremental archive (baku)"
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
-msgstr ""
+msgstr "Overwrite kontrol:"
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
-msgstr ""
+msgstr "mencoba untuk memverifikasi archive setelah menulisnya"
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
-msgstr ""
+msgstr "hapus berkas setelah menambahkannya ke archive"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
-msgstr ""
+msgstr "jangan timpa berkas yang sudah ada ketika mengekstrak"
 
-#: src/tar.c:435
+#: src/tar.c:437
 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:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
-msgstr ""
+msgstr "overwrite berkas yang sudah ada ketika mengekstrak"
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
-msgstr ""
+msgstr "hapus setiap berkas sebelum mengekstrak diatasnya"
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
-msgstr ""
+msgstr "kosongkan susunan sebelum mengekstrak ke direktori"
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
-msgstr ""
+msgstr "jaga metadata dari direktori yang sudah ada"
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
+"overwrite metadata dari direktori yang sudah ada ketika mengekstrak (baku)"
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
-msgstr ""
+msgstr "Pilih stream keluaran:"
 
-#: src/tar.c:454
-#, fuzzy
+#: src/tar.c:456
 msgid "extract files to standard output"
-msgstr "Kesalahan dalam menulis ke output standar"
+msgstr "ekstrak berkas ke standar keluaran"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
-msgstr ""
+msgstr "PERINTAH"
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
-msgstr ""
+msgstr "pipe berkas terekstrak ke aplikasi lain"
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
-msgstr ""
+msgstr "abaikan kode keluaran dari anak"
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
-msgstr ""
+msgstr "perlakukan kode keluaran bukan nol dari anak sebagai error"
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
-msgstr ""
+msgstr "Penanganan dari atribut berkas:"
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
-msgstr ""
+msgstr "paksa NAMA sebagai pemilik untuk berkas yang ditambahkan"
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
-msgstr ""
+msgstr "paksa NAMA sebagai grup untuk berkas yang ditambahkan"
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
-msgstr ""
+msgstr "DATE-ATAU-BERKAS"
 
-#: src/tar.c:472
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
-msgstr ""
+msgstr "set mtime untuk berkas yang ditambahkan dari DATE-OR-FILE"
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
-msgstr ""
+msgstr "PERUBAHAN"
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
-msgstr ""
+msgstr "paksa PERUBAHAN (simbolik) mode untuk berkas yang ditambahkan"
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
-msgstr ""
+msgstr "METODE"
 
-#: src/tar.c:477
+#: src/tar.c:479
 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 ""
+"jaga waktu akses di berkas yang didump, baik dengan mengembalikan waktu "
+"setelah membaca (METODE='replace'; baku) atau dengan tidak menset waktu di "
+"tempat pertama (METODE='system')"
 
-#: src/tar.c:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
-msgstr ""
+msgstr "jangan ekstrak waktu modifikasi berkas"
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
-msgstr ""
+msgstr "mencoba mengekstrak berkas dengan kepemilikan yang sama"
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
-msgstr ""
+msgstr "ekstrak berkas seperti dirimu"
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
-msgstr ""
+msgstr "selalu gunakan nomor untuk nama pengguna/grup"
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
-msgstr ""
+msgstr "ekstrak informasi mengenai ijin berkas (baku untuk superuser)"
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
+"aplikasikan umask pengguna ketika mengekstrak ijin dari archive (baku untuk "
+"pengguna biasa)"
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
-msgstr ""
+msgstr "urutkan nama untuk mengekstrak supaya cocok dengan archive"
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
-msgstr ""
+msgstr "sama seperti baik -p dan -s"
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
+"tunda konfigurasi waktu modifikasi dan ijin untuk direktori terekstrak "
+"sampai akhir dari ekstrasi"
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
-msgstr ""
+msgstr "batalkan efek dari opsi --delay-directory-restore"
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
-msgstr ""
+msgstr "Pemilihan dan pengubahan perangkat:"
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
-msgstr ""
+msgstr "ARCHIVE"
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
-msgstr ""
+msgstr "gunakan berkas archive atau perangkat ARCHIVE"
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
-msgstr ""
+msgstr "berkas archive adalah lokal walaupun ini memiliki sebuah kolon"
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
-msgstr ""
+msgstr "gunakan PERINTAH rmt yang diberikan daripad rmt"
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
-msgstr ""
+msgstr "gunakan PERINTAH remote daripada rsh"
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
-msgstr ""
+msgstr "spesifikasikan drive dan kepadatan"
 
-#: src/tar.c:535
-#, fuzzy
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
-msgstr "Tidak dapat verifikasi multi-volume archives"
+msgstr "buat/daftar/ekstrak multi-volume archive"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
-msgstr ""
+msgstr "ubah pita setelah menulis ANGKA x 1024 bytes"
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
-msgstr ""
+msgstr "jalankan script di akhir dari setiap pite (mengimplikasikan -M)"
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
-msgstr ""
+msgstr "gunakan/update jumlah volume dalam BERKAS"
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
-msgstr ""
+msgstr "Bloking perangkat:"
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
-msgstr ""
+msgstr "BLOK"
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
-msgstr ""
+msgstr "BLOK x 512 byte per detik"
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
-msgstr ""
+msgstr "JUMLAH dari byte per rekaman, kelipatan dari 512"
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
-msgstr ""
+msgstr "abaikan blok yang dinolkan dalam archive (berarti EOF)"
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
-msgstr ""
+msgstr "reblok saat kita baca (untuk 4.2BSD pipes)"
 
-#: src/tar.c:561
-#, fuzzy
+#: src/tar.c:563
 msgid "Archive format selection:"
-msgstr "Opsi format archive konflik"
+msgstr "Pemilihan format archive:"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
-msgstr ""
+msgstr "FORMAT"
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
-msgstr ""
+msgstr "buat archive dari format yang diberikan"
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
-msgstr ""
+msgstr "FORMAT adalah satu dari berikut:"
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
-msgstr ""
+msgstr "format tar lama V7"
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
-msgstr ""
+msgstr "format gnu tar <= 1.12"
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
-msgstr ""
+msgstr "format GNU tar 1.13.x"
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
-msgstr ""
+msgstr "format POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
-msgstr ""
+msgstr "format POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
-msgstr ""
+msgstr "sama seperti pax"
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
-msgstr ""
+msgstr "sama seperti --format=v7"
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
-msgstr ""
+msgstr "sama seperti --format=posix"
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
-msgstr ""
+msgstr "kata kunci[[:]=nilai][,kata kunci[[:]=nilai]]..."
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
-msgstr ""
+msgstr "kontrol kata kunci pax"
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
-msgstr ""
+msgstr "TEKS"
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
-
-#: src/tar.c:592
-#, fuzzy
-msgid "Compression options:"
-msgstr "Opsi kompresi konflik"
+"buat archive dengan nama volume TEKS; di waktu daftar/ekstrak, gunakan TEKS "
+"sebagai sebuah pola globbing untuk nama volume"
 
 #: src/tar.c:594
-msgid "use archive suffix to determine the compression program"
-msgstr ""
+msgid "Compression options:"
+msgstr "Opsi kompresi:"
 
 #: src/tar.c:596
-msgid "filter the archive through bzip2"
-msgstr ""
+msgid "use archive suffix to determine the compression program"
+msgstr "gunaka nama akhiran archive untuk menentukan aplikasi kompresi"
 
 #: src/tar.c:598
 #, fuzzy
+msgid "do not use use archive suffix to determine the compression program"
+msgstr "gunaka nama akhiran archive untuk menentukan aplikasi kompresi"
+
+#: src/tar.c:601
+msgid "filter the archive through bzip2"
+msgstr "saring archive melalui bzip2"
+
+#: src/tar.c:603
 msgid "filter the archive through gzip"
-msgstr "%s: file adalah archive; tidak di-dump"
+msgstr "saring archive melalui gzip"
 
-#: src/tar.c:602
-#, fuzzy
+#: src/tar.c:607
 msgid "filter the archive through compress"
-msgstr "%s: file adalah archive; tidak di-dump"
+msgstr "saring archive melalui compress"
 
-#: src/tar.c:605
-#, fuzzy
+#: src/tar.c:610
 msgid "filter the archive through lzma"
-msgstr "%s: file adalah archive; tidak di-dump"
+msgstr "saring archive melalui lzma"
+
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "saring archive melalui gzip"
 
-#: src/tar.c:606
+#: src/tar.c:613
 msgid "PROG"
-msgstr ""
+msgstr "PROG"
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
-msgstr ""
+msgstr "saring melalui PROG (harus menerima -d)"
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
-msgstr ""
+msgstr "Pemilihan berkas lokal:"
 
-#: src/tar.c:615
+#: src/tar.c:622
 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:616
+#: src/tar.c:623
 msgid "DIR"
-msgstr ""
+msgstr "DIR"
 
-#: src/tar.c:617
-#, fuzzy
+#: src/tar.c:624
 msgid "change to directory DIR"
-msgstr "Tidak bisa pindah direktori kerja"
+msgstr "pindah ke direktori DIR"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
-msgstr ""
+msgstr "dapatkan nama untuk ekstrak atau buat dari BERKAS"
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
+msgstr "-T baca nama berakhiran kosong, non-aktifkan -C"
+
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
 msgstr ""
 
-#: src/tar.c:623
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
-msgstr ""
+msgstr "unquote nama berkas baca dengan -T (baku)"
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
-msgstr ""
+msgstr "jangan unquote nama berkas baca dengan -T"
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
-msgstr ""
+msgstr "POLA"
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
-msgstr ""
+msgstr "jangan masukan berkas, berikan sebagai sebuah POLA"
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
-msgstr ""
+msgstr "jangan masukan pola yang terdaftar dalam BERKAS"
 
-#: src/tar.c:631
+#: src/tar.c:640
 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:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr ""
+msgstr "jangan masukan apapun dibawah direktori berisi CACHEDIR.TAG"
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
-msgstr ""
+msgstr "jangan masukan direktori berisi CACHEDIR.TAG"
 
-#: src/tar.c:639
+#: src/tar.c:648
 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:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
-msgstr ""
+msgstr "jangan masukan apapun dibawah direktori berisi BERKAS"
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
-msgstr ""
+msgstr "jangan masukan direktori berisi BERKAS"
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
-msgstr ""
+msgstr "jangan masukan direktori sistem pengontrol direktori"
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
-msgstr ""
+msgstr "hindari penurunan secara otomatis dalam direktori"
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
-msgstr ""
+msgstr "tetap dalam sistem berkas lokal ketika membuat archive"
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
-msgstr ""
+msgstr "rekursif kedalam direktori (baku)"
 
-#: src/tar.c:654
-#, fuzzy
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
-msgstr "Menghilangkan awalan `%.*s' dari nama anggota"
+msgstr "jangan hilangkan awalan `/' dari nama berkas"
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
-msgstr ""
+msgstr "ikuti symlinks; berkas archive dan dump yang mereka tunjuk ke"
 
-#: src/tar.c:658
+#: src/tar.c:667
 msgid "follow hard links; archive and dump the files they refer to"
-msgstr ""
+msgstr "ikuti hard links; berkas archive dan dump yang mereka refer ke"
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
-msgstr ""
+msgstr "NAMA-ANGGOTA"
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
-msgstr ""
+msgstr "berawal di anggota NAMA-ANGGOTA dalam archive"
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
-msgstr ""
+msgstr "hanya simpan berkas lebih baru dari DATE-OR-FILE"
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
-msgstr ""
+msgstr "TANGGAL"
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
-msgstr ""
+msgstr "bandingkan tanggal dan waktu hanya ketika data berubah"
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
-msgstr ""
+msgstr "KONTROL"
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
-msgstr ""
+msgstr "backup sebelum penghapusan, pilih PENGONTROL versi"
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
-msgstr ""
+msgstr "STRING"
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
+"backup sebelum penghapusan, override akhiran biasa ('~' kecuali di override "
+"oleh variabel lingkungan SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
-msgstr ""
+msgstr "Transformasi nama berkas:"
 
-#: src/tar.c:676
+#: src/tar.c:685
 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:678
+#: src/tar.c:687
 msgid "EXPRESSION"
-msgstr ""
+msgstr "EKSPRESI"
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
-msgstr ""
+msgstr "gunakan sed EKSPRESI replace untuk mengubah nama berkas"
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
-msgstr ""
+msgstr "Opsi nama berkas cocok (mempengaruhi baik pola exclude dan include):"
 
-#: src/tar.c:687
+#: src/tar.c:697
 msgid "ignore case"
-msgstr ""
+msgstr "abaikan perbedaan huruf besar dan huruf kecil"
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
-msgstr ""
+msgstr "pencocokan pola nama berkas mulai"
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
-msgstr ""
+msgstr "pencocokan polah setelah `/' apapun (baku untuk exclusion)"
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
-msgstr ""
+msgstr "pencocokan dengan memperhatikan huruf besar dan huruf kecil (baku)"
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
-msgstr ""
+msgstr "gunakan wildcards (baku untuk exclusion)"
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
-msgstr ""
+msgstr "pencocok verbatim string"
 
-#: src/tar.c:699
-#, fuzzy
+#: src/tar.c:709
 msgid "wildcards do not match `/'"
-msgstr "Volume %s tidak sesuai dengan %s"
+msgstr "wildcards tidak cocok `/'"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
-msgstr ""
+msgstr "wildcards cocok `/' (baku untuk exclusion)"
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
-msgstr ""
+msgstr "Keluaran informative:"
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
-msgstr ""
+msgstr "proses daftar berkas secara verbose"
 
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
-msgstr ""
+msgstr "tampilkan pesan perkembangan setiap rekaman ke ANGKA (baku 10)"
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
-msgstr ""
+msgstr "AKSI"
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
-msgstr ""
+msgstr "jalankan AKSI disetiap titik pemeriksaan"
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
-msgstr ""
+msgstr "tampilkan sebuah pesan jika tidak seluruh link didump"
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
-msgstr ""
+msgstr "SINYAL"
 
-#: src/tar.c:719
+#: src/tar.c:729
 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 ""
+"tampilkan total bytes setelah memproses archive; dengan sebuah archive - "
+"tampilkan total bytes ketika SINYAL ini dikirimkan; Sinyal yang diijinkan "
+"adalah: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 dan SIGUSR2; nama tanpa awalah SIG "
+"juga diterima"
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
-msgstr ""
+msgstr "tampilkan waktu modifikasi berkas dalam UTC"
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
-msgstr ""
+msgstr "kirim keluaran verbose ke BERKAS"
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
-msgstr ""
+msgstr "tampilkan jumlah blok didalam archive dengan setiap pesan"
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
-msgstr ""
+msgstr "minta konfirmasi untuk setiap aksi"
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
-msgstr ""
+msgstr "tampilkan tar baku"
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
+"ketika mendaftar atau mengekstrak, daftar setiap direktori yang tidak cocok "
+"dengan kriteria pencarian"
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
-msgstr ""
+msgstr "tampilkan berkas atau nama berkas setelah transformasi"
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
-msgstr ""
+msgstr "GAYA"
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
-msgstr ""
+msgstr "set nama quoting gaya; lihat dibawah untuk nilai GAYA yang valid"
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
-msgstr ""
+msgstr "sebagai tambahan karakter quote dari STRING"
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
-msgstr ""
+msgstr "non-aktifkan quoting untuk karakter dari STRING"
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
-msgstr ""
+msgstr "Opsi yang kompatibel:"
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
+"ketika membuat, sama seperti --old-archive; ketika mengekstrak, sama seperti "
+"--no-same-owner"
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
-msgstr ""
+msgstr "Opsi lain:"
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
-msgstr ""
+msgstr "non-aktifkan penggunaan dari opsi berbahaya yang berpotensial"
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Anda tidak bisa menjalankan lebih dari satu opsi `-Acdtrux'"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Opsi kompresi konflik"
 
-#: src/tar.c:965
-#, fuzzy, c-format
+#: src/tar.c:985
+#, c-format
 msgid "Unknown signal name: %s"
-msgstr " tipe file tidak dikenal %s\n"
+msgstr "Nama sinyal: %s tidak dikenal"
 
-#: src/tar.c:989
-#, fuzzy
+#: src/tar.c:1009
 msgid "Date sample file not found"
-msgstr "Tanggal file tidak ditemukan"
+msgstr "Tanggal contoh berkas tidak ditemukan"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Menggantikan %s untuk format tanggal tidak dikenal %s"
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
-msgstr ""
+msgstr "Opsi %s: memperlakukan tanggal `%s' sebagai %s"
 
-#: src/tar.c:1096
-#, fuzzy, c-format
+#: src/tar.c:1119
+#, c-format
 msgid "%s: file list already read"
-msgstr "%s: file adalah archive; tidak di-dump"
+msgstr "%s: daftar berkas telah dibaca"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
-msgstr ""
+msgstr "%s: nama berkas yang dibaca berisi karakter nul"
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
-msgstr ""
+msgstr "Argumen yang valid untuk opsi --quoting-style adalah:"
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
+"\n"
+"*Ini* tar baku ke:\n"
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Faktor bloking tidak valid"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr "Peringatan: option -l tidak didukung; mungkin maksud anda -j atau -T?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Panjang tape tidak valid"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Lebih dari satu treshold date"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
-msgstr ""
+msgstr "Nilai versi sparse tidak valid"
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
-msgstr ""
+msgstr "opsi --atime-preserve='system' tidak didukung di platform ini"
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
-msgstr ""
+msgstr "nilai --checkpoint bukan sebuah integer"
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: grup tidak valid"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Mode tidak tepat diberikan pada opsi"
 
-#: src/tar.c:1738
-#, fuzzy
+#: src/tar.c:1775
 msgid "Invalid number"
-msgstr "Nomor inode tidak valid"
+msgstr "Nomor tidak valid"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Pemilik tidak valid"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Ukuran record tidak valid"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Jumlah record harus kelipatan dari %d."
 
-#: src/tar.c:1834
-#, fuzzy
+#: src/tar.c:1873
 msgid "Invalid number of elements"
-msgstr "Panjang tape tidak valid"
+msgstr "Jumlah dari elemen tidak valid"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
-msgstr ""
+msgstr "Hanya satu opsi --to-command yang diijinkan"
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
-msgstr ""
+msgstr "Salah bentuk kepadatan argumen: %s"
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
-msgstr ""
+msgstr "Kepadatan tidak diketahui: `%c'"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, c-format
 msgid "Options `-[0-7][lmh]' not supported by *this* tar"
 msgstr "Opsi `-[0-7][lmh]' tidak didukung oleh tar *ini*"
 
-#: src/tar.c:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
-msgstr ""
+msgstr "[BERKAS]..."
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "Opsi 'lama' `%c' membutuhkan argument."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
-msgstr ""
+msgstr "--occurrence tidak berarti tanpa sebuah daftar berkas"
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
-msgstr ""
+msgstr "--occurrence tidak dapat digunakan dalam mode operasi yang diminta"
 
-#: src/tar.c:2232
-#, fuzzy
+#: src/tar.c:2271
 msgid "Multiple archive files require `-M' option"
-msgstr "File multiple archive membutuhkan opsi '-M'"
+msgstr "Berkas multiple archive membutuhkan opsi '-M'"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "Tidak dapat menggabungkan --listed-incremental dengan --newer"
 
-#: src/tar.c:2254
-#, fuzzy, c-format
+#: src/tar.c:2293
+#, 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Tidak dapat verifikasi multi-volume archives"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Tidak dapat verify compressed archives"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Tidak dapat menggunakan multi-volume compressed archives"
 
-#: src/tar.c:2281
-#, fuzzy
+#: src/tar.c:2320
 msgid "Cannot concatenate compressed archives"
 msgstr "Tidak dapat update compressed archives"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
+msgstr "--pax-option hanya dapat digunakan dalam archive POSIX"
+
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
 msgstr ""
 
-#: src/tar.c:2318
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
-msgstr "Tidak bisa membuat archive yang kosong"
+msgstr "Secara takut menolak untuk membuat sebuah archive kosong"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "Opsi '-Aru' tidak kompatibel dengan `-f -'"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Anda harus menggunakan salah satu dari opsi `-Acdtrux'"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Kesalahan exit ditunda dari error sebelumnya"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
-#, fuzzy, c-format
+#, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: file mengecil sebanyak %s byte"
 msgstr[1] "%s: file mengecil sebanyak %s byte"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
-msgstr ""
+msgstr "Kata kunci %s tidak diketahui atau belum diimplementasikan"
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
-msgstr ""
+msgstr "Pola %s tidak dapat digunakan"
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
-msgstr ""
+msgstr "Kata kunci %s tidak dapat dioverride"
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
-msgstr ""
+msgstr "Salah bentuk ekstensi header: hilang panjang"
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
-msgstr ""
+msgstr "Ekstensi panjang header diluar dari jangkauan yang diijinkan"
 
-#: src/xheader.c:513
-#, fuzzy, c-format
+#: src/xheader.c:511
+#, c-format
 msgid "Extended header length %*s is out of range"
-msgstr "Arsip yang ditandatangahi dengan string base-64 %s di luar batasan %s"
+msgstr "Ekstensi panjang header %*s diluar dari jangkauan"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
-msgstr ""
+msgstr "Salah bentuk ekstensi header: hilang blank setelah panjang"
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
-msgstr ""
+msgstr "Salah bentuk ekstensi header: hilang tanda sama dengan"
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
-msgstr ""
+msgstr "Salah bentuk ekstensi header: hilang baris baru"
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
-msgstr ""
+msgstr "Mengabaikan kata kunci ekstensi `%s' yang tidak diketahui"
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
+"Pasangan kata kunci/nilai yang dihasilkan terlalu panjang (kata kunci=%s, "
+"panjang=%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:812
-#, fuzzy, c-format
+#: src/xheader.c:810
+#, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
-msgstr "Nilai arsip %s dari %s di luar batasan %s..%s"
+msgstr "Ekstensi header %s=%s diluar dari jangkauan %s..%s"
 
-#: src/xheader.c:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
-msgstr ""
+msgstr "Salah bentuk ekstensi header: tidak valid %s=%s"
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
-msgstr ""
+msgstr "Salah bentuk ekstensi header: kelebihan %s=%s"
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
-msgstr ""
+msgstr "Salah bentuk ekstensi header: tidak valid %s: tidak diduga pembatas %c"
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
-msgstr ""
+msgstr "Salah bentuk ekstensi header: tidak valid %s: jumlah dari nilai ganjil"
 
 #: src/checkpoint.c:107
-#, fuzzy, c-format
+#, c-format
 msgid "%s: not a valid timeout"
-msgstr "%s: grup tidak valid"
+msgstr "%s: bukan sebuah kehabisan waktu yang valid"
 
 #: src/checkpoint.c:112
 #, c-format
 msgid "%s: unknown checkpoint action"
-msgstr ""
+msgstr "%s: aksi titik pemeriksaan tidak diketahui"
 
 #: src/checkpoint.c:132
 msgid "write"
-msgstr ""
+msgstr "tulis"
 
 #: src/checkpoint.c:132
 msgid "read"
-msgstr ""
+msgstr "baca"
 
 #. TRANSLATORS: This is a ``checkpoint of write operation'',
 #. *not* ``Writing a checkpoint''.
 #. E.g. in Spanish ``Punto de comprobaci@'on de escritura'',
 #. *not* ``Escribiendo un punto de comprobaci@'on''
 #: src/checkpoint.c:222
-#, fuzzy, c-format
+#, c-format
 msgid "Write checkpoint %u"
-msgstr "Menulis checkpoint %d"
+msgstr "Menulis titik pemeriksaan %u"
 
 #. TRANSLATORS: This is a ``checkpoint of read operation'',
 #. *not* ``Reading a checkpoint''.
 #. E.g. in Spanish ``Punto de comprobaci@'on de lectura'',
 #. *not* ``Leyendo un punto de comprobaci@'on''
 #: src/checkpoint.c:228
-#, fuzzy, c-format
+#, c-format
 msgid "Read checkpoint %u"
-msgstr "Membaca checkpoint %d"
+msgstr "Membaca titik pemeriksaan %u"
 
 #: tests/genfile.c:111
-#, fuzzy
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
-msgstr "Hasilkan file data untuk GNU test suite.\n"
+msgstr ""
+"genfile memanipulasi berkas data untuk suite pemeriksaan GNU paxutils.\n"
+"OPSI adalah:\n"
 
 #: tests/genfile.c:126
-#, fuzzy
 msgid "File creation options:"
-msgstr "Opsi kompresi konflik"
+msgstr "Opsi pembuatan berkas:"
 
 #: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
-msgstr ""
+msgstr "UKURAN"
 
 #: tests/genfile.c:128
 msgid "Create file of the given SIZE"
-msgstr ""
+msgstr "Buat berkas dari UKURAN yang diberikan"
 
 #: tests/genfile.c:130
-#, fuzzy
 msgid "Write to file NAME, instead of standard output"
-msgstr "Kesalahan dalam menulis ke output standar"
+msgstr "Tulis ke berkas NAMA, daripada ke standar keluaran"
 
 #: tests/genfile.c:132
 msgid "Read file names from FILE"
-msgstr ""
+msgstr "Baca nama berkas dari BERKAS"
 
 #: tests/genfile.c:134
 msgid "-T reads null-terminated names"
-msgstr ""
+msgstr "-T baca nama berakhiran null"
 
 #: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
-msgstr ""
+msgstr "Isi berkas dengan POLA yang diberikan. POLA adalah 'baku' atau 'nol'"
 
 #: tests/genfile.c:139
 msgid "Size of a block for sparse file"
-msgstr ""
+msgstr "Ukuran dari sebuah blok untuk berkas sparse"
 
 #: tests/genfile.c:141
 msgid "Generate sparse file. Rest of the command line gives the file map."
-msgstr ""
+msgstr "Buat berkas sparse. Sisa dari baris perintah memberikan peta berkas."
 
 #: tests/genfile.c:143
 msgid "OFFSET"
-msgstr ""
+msgstr "OFSET"
 
 #: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
-msgstr ""
+msgstr "Cari ke ofset yang diberikan sebelum menulis data"
 
 #: tests/genfile.c:150
 msgid "File statistics options:"
-msgstr ""
+msgstr "Opsi statistik berkas:"
 
 #: tests/genfile.c:153
 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:160
 msgid "Synchronous execution options:"
-msgstr ""
+msgstr "opsi eksekusi synchronous:"
 
 #: tests/genfile.c:163
 msgid ""
 "Execute given COMMAND. Useful with --checkpoint and one of --cut, --append, "
 "--touch"
 msgstr ""
+"Jalankan PERINTAH yang diberikan. Berguna dengan --checkpoint dan satu dari "
+"--cut, --append, --touch"
 
 #: tests/genfile.c:166
 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:169
 msgid "Set date for next --touch option"
-msgstr ""
+msgstr "Set tanggal untuk opsi --touch selanjutnya"
 
 #: tests/genfile.c:172
 msgid "Display executed checkpoints and exit status of COMMAND"
 msgstr ""
+"Tampilkan titik pemeriksaan yang dijalankan dan status keluar dari PERINTAH"
 
 #: tests/genfile.c:177
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
+"Aksi eksekusi synchronous. Ini dijalankan ketika titik pemeriksaan nomor "
+"yang diberikan oleh opsi --checkpoint dicapai."
 
 #: tests/genfile.c:180
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
+"Potong BERKAS ke ukuran yang dispesifikasikan oleh opsi --length sebelumnya "
+"(atau 0, jika ini tidak diberikan)"
 
 #: tests/genfile.c:184
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
 msgstr ""
+"Tambahkan UKURAN bytes ke BERKAS. UKURAN yang diberikan oleh opsi --length "
+"sebelumnya."
 
 #: tests/genfile.c:187
 msgid "Update the access and modification times of FILE"
-msgstr ""
+msgstr "Update waktu akses dan modifikasi dari BERKAS"
 
 #: tests/genfile.c:190
 msgid "Execute COMMAND"
-msgstr ""
+msgstr "Jalankan PERINTAH"
 
 #: tests/genfile.c:240
-#, fuzzy, c-format
+#, c-format
 msgid "Invalid size: %s"
-msgstr "Time stamp tidak valid"
+msgstr "Ukuran: %s tidak valid"
 
 #: tests/genfile.c:245
-#, fuzzy, c-format
+#, c-format
 msgid "Number out of allowed range: %s"
-msgstr "Nomor inode di luar batasan"
+msgstr "Jumlah diluar dari jangkauan yang diijinkan: %s"
 
 #: tests/genfile.c:248
 #, c-format
 msgid "Negative size: %s"
-msgstr ""
+msgstr "Ukuran negatif: %s"
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
+msgstr "stat(%s) gagal"
+
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
 msgstr ""
 
-#: tests/genfile.c:355
+#: tests/genfile.c:268
 #, c-format
-msgid "Error parsing number near `%s'"
+msgid "created file is not sparse"
 msgstr ""
 
-#: tests/genfile.c:361
-#, fuzzy, c-format
+#: tests/genfile.c:353
+#, c-format
+msgid "Error parsing number near `%s'"
+msgstr "Error parsing nomor didekat `%s'"
+
+#: tests/genfile.c:359
+#, c-format
 msgid "Unknown date format"
-msgstr "Kesalahan sistem tidak dikenal"
+msgstr "Format tanggal tidak diketahui"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
-msgstr ""
+msgstr "[ARG...]"
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
-msgstr ""
+msgstr "tidak dapat membuka `%s'"
 
-#: tests/genfile.c:427
-#, fuzzy
+#: tests/genfile.c:425
 msgid "cannot seek"
-msgstr "Tidak dapat menutup"
+msgstr "Tidak dapat mencari"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
-msgstr ""
+msgstr "nama berkas berisi karakter null"
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
+"tidak dapat menghasilkan berkas sparse di standar keluaran, gunakan opsi --"
+"file"
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
-msgstr ""
+msgstr "mask tidak benar (didekat `%s')"
 
-#: tests/genfile.c:593 tests/genfile.c:626
-#, fuzzy, c-format
+#: tests/genfile.c:591 tests/genfile.c:624
+#, c-format
 msgid "Unknown field `%s'"
-msgstr " tipe file tidak dikenal %s\n"
+msgstr "Field `%s' tidak diketahui"
 
-#: tests/genfile.c:653
-#, fuzzy, c-format
+#: tests/genfile.c:651
+#, c-format
 msgid "cannot set time on `%s'"
-msgstr "%s: Tidak dapat mencari ke %s"
+msgstr "tidak dapat menset waktu di `%s'"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
-msgstr ""
+msgstr "Perintah keluar secara sukses\n"
 
-#: tests/genfile.c:809
-#, fuzzy, c-format
+#: tests/genfile.c:807
+#, c-format
 msgid "Command failed with status %d\n"
-msgstr "Child berhenti dengan signal %d"
+msgstr "Perintah gagal dengan status %d\n"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
-msgstr ""
+msgstr "Perintah berakhir di sinyal %d\n"
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
-msgstr ""
+msgstr "Perintah berhenti di sinyal %d\n"
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
-msgstr ""
+msgstr "Perintah memberika core dump\n"
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
-msgstr ""
+msgstr "Perintah berakhir\n"
 
-#: tests/genfile.c:853
-#, fuzzy, c-format
+#: tests/genfile.c:851
+#, c-format
 msgid "--stat requires file names"
-msgstr "--Mangled file names--\n"
+msgstr "--stat membutuhkan nama berkas"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
-msgstr ""
+msgstr "terlalu banyak argumen"
+
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Kesalahan exit ditunda dari error sebelumnya"
 
 #~ msgid "block size"
 #~ msgstr "ukuran blok"
index f548fefee304fa2619457b175e9cccab6d943b5a..49aeb33903bbbb899e355c8aea84f1d0bb59c87c 100644 (file)
Binary files a/po/it.gmo and b/po/it.gmo differ
index 6136091229cfcca6b4010d6c3f29dfc30c402758..c227b4bb5764e47995defdae0c0482b587834884 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -1,18 +1,21 @@
-# Messaggi in Italiano per GNU tar.
-# Copyright (C) 1996 Free Software Foundation, Inc.
+# Italian translation of GNU tar.
+# Copyright (C) 2008 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_casagrande@yahoo.it>, 2008
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU tar 1.14.91\n"
+"Project-Id-Version: tar 1.20\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
-"PO-Revision-Date: 2004-12-23 11:32+0100\n"
-"Last-Translator: Marco d'Itri <md@linux.it>\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
+"PO-Revision-Date: 2008-11-12 19:30+0100\n"
+"Last-Translator: Milo Casagrande <milo_casagrande@yahoo.it>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8-bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
@@ -34,7 +37,7 @@ msgstr "Gli argomenti validi sono:"
 #: lib/argp-help.c:147
 #, c-format
 msgid "ARGP_HELP_FMT: %s value is less than or equal to %s"
-msgstr ""
+msgstr "ARGP_HELP_FMT: il valore %s è minore o uguale a %s"
 
 #: lib/argp-help.c:220
 #, c-format
@@ -42,9 +45,9 @@ msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr "%.*s: il parametro ARGP_HELP_FMT richiede un valore"
 
 #: lib/argp-help.c:226
-#, fuzzy, c-format
+#, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
-msgstr "%.*s: il parametro ARGP_HELP_FMT richiede un valore"
+msgstr "%.*s: il parametro ARGP_HELP_FMT deve essere positivo"
 
 #: lib/argp-help.c:235
 #, c-format
@@ -61,8 +64,8 @@ msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
 msgstr ""
-"Gli argomenti obbligatori o opzionali per le opzioni lunghe lo sono anche "
-"per quelle corte."
+"Gli argomenti obbligatori o facoltativi per le opzioni estese lo sono anche "
+"per le corrispondenti opzioni brevi."
 
 #: lib/argp-help.c:1639
 msgid "Usage:"
@@ -79,9 +82,9 @@ msgstr " [OPZIONE...]"
 #: lib/argp-help.c:1682
 #, c-format
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
-msgstr "Usare `%s --help' o `%s --usage' per ulteriori informazioni.\n"
+msgstr "Usare \"%s --help\" o \"%s --usage\" per ulteriori informazioni.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Segnalare i bug a %s.\n"
@@ -90,90 +93,87 @@ msgstr "Segnalare i bug a %s.\n"
 msgid "Unknown system error"
 msgstr "Errore di sistema sconosciuto"
 
-#: lib/argp-parse.c:81 src/tar.c:763
-#, fuzzy
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr "Mostra questo aiuto"
 
-#: lib/argp-parse.c:82 src/tar.c:764
-#, fuzzy
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr "Mostra un breve messaggio sull'uso"
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr "NOME"
 
 #: lib/argp-parse.c:83
 msgid "set the program name"
-msgstr ""
+msgstr "Imposta il nome del programma"
 
 #: lib/argp-parse.c:84
 msgid "SECS"
-msgstr ""
+msgstr "SEC"
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
-msgstr ""
+msgstr "Resta in attesa per SEC secondi (predefinito 3600)"
 
-#: lib/argp-parse.c:142 src/tar.c:765
-#, fuzzy
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr "Stampa la versione del programma"
 
 #: lib/argp-parse.c:158
 #, c-format
 msgid "(PROGRAM ERROR) No version known!?"
-msgstr ""
+msgstr "(ERRORE DEL PROGRAMMA) Nessuna versione conosciuta."
 
 #: lib/argp-parse.c:611
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Too many arguments\n"
-msgstr "%s: l'opzione `%s' richiede un argomento\n"
+msgstr "%s: troppi argomenti\n"
 
 #: lib/argp-parse.c:754
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
-msgstr ""
+msgstr "(ERRORE DEL PROGRAMMA) L'opzione dovrebbe essere stata riconosciuta."
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
-msgstr ""
+msgstr "Errore di scrittura"
 
 #: lib/getopt.c:526 lib/getopt.c:542
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: l'opzione `%s' è ambigua\n"
+msgstr "%s: l'opzione \"%s\" è ambigua\n"
 
 #: lib/getopt.c:575 lib/getopt.c:579
 #, c-format
 msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: l'opzione `--%s' non accetta argomenti\n"
+msgstr "%s: l'opzione \"--%s\" non accetta un argomento\n"
 
 #: lib/getopt.c:588 lib/getopt.c:593
 #, c-format
 msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: l'opzione `%c%s' non accetta argomenti\n"
+msgstr "%s: l'opzione \"%c%s\" non accetta un argomento\n"
 
 #: lib/getopt.c:636 lib/getopt.c:655 lib/getopt.c:971 lib/getopt.c:990
 #, c-format
 msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: l'opzione `%s' richiede un argomento\n"
+msgstr "%s: l'opzione \"%s\" richiede un argomento\n"
 
 #: lib/getopt.c:693 lib/getopt.c:696
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: opzione `--%s' non riconosciuta\n"
+msgstr "%s: opzione \"--%s\" non riconosciuta\n"
 
 #: lib/getopt.c:704 lib/getopt.c:707
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: opzione `%c%s' non riconosciuta\n"
+msgstr "%s: opzione \"%c%s\" non riconosciuta\n"
 
 #: lib/getopt.c:759 lib/getopt.c:762
 #, c-format
 msgid "%s: illegal option -- %c\n"
-msgstr "%s: opzione illecita -- %c\n"
+msgstr "%s: opzione non lecita -- %c\n"
 
 #: lib/getopt.c:768 lib/getopt.c:771
 #, c-format
@@ -188,27 +188,29 @@ msgstr "%s: l'opzione richiede un argomento -- %c\n"
 #: lib/getopt.c:892 lib/getopt.c:908
 #, c-format
 msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: l'opzione `-W %s' è ambigua\n"
+msgstr "%s: l'opzione \"-W %s\" è ambigua\n"
 
 #: lib/getopt.c:932 lib/getopt.c:950
 #, c-format
 msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: l'opzione `-W %s' non accetta argomenti\n"
+msgstr "%s: l'opzione \"-W %s\" non accetta un argomento\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "memoria esaurita"
 
-#: lib/openat-die.c:33
-#, fuzzy, c-format
+#: lib/openat-die.c:35
+#, c-format
 msgid "unable to record current working directory"
-msgstr "Impossibile cambiare la directory di lavoro"
+msgstr "Impossibile registrare la directory di lavoro corrente"
 
-#: lib/openat-die.c:46
-#, fuzzy, c-format
+#: lib/openat-die.c:48
+#, c-format
 msgid "failed to return to initial working directory"
-msgstr "Impossibile salvare la directory di lavoro"
+msgstr "Impossibile ritornare alla directory di lavoro iniziale"
 
+# (ndt) metto tra virgolette visto che è
+# il nome di una funzione non traducibile
 #. 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.
@@ -216,7 +218,7 @@ msgstr "Impossibile salvare la directory di lavoro"
 #: lib/paxerror.c:58 lib/paxerror.c:71
 #, c-format
 msgid "%s: Cannot %s"
-msgstr "%s: impossibile %s"
+msgstr "%s: funzione \"%s\" non riuscita"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -225,12 +227,12 @@ msgstr "%s: impossibile %s"
 #: lib/paxerror.c:84
 #, c-format
 msgid "%s: Warning: Cannot %s"
-msgstr "%s: attenzione: impossibile %s"
+msgstr "%s: attenzione: funzione \"%s\" non riuscita"
 
 #: lib/paxerror.c:93
 #, c-format
 msgid "%s: Cannot change mode to %s"
-msgstr "%s: impossibile cambiare il modo a %s"
+msgstr "%s: impossibile cambiare il modo a %s"
 
 #: lib/paxerror.c:101
 #, c-format
@@ -240,21 +242,21 @@ msgstr "%s: impossibile cambiare il proprietario all'UID %lu e al GID %lu"
 #: lib/paxerror.c:127
 #, c-format
 msgid "%s: Cannot hard link to %s"
-msgstr "%s: impossibile fare un hard link a %s"
+msgstr "%s: impossibile creare un collegamento fisico a %s"
 
 #: lib/paxerror.c:179 lib/paxerror.c:211
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Read error at byte %s, while reading %lu byte"
 msgid_plural "%s: Read error at byte %s, while reading %lu bytes"
-msgstr[0] "%s: errore di lettura al byte %s, leggendo %lu byte"
-msgstr[1] "%s: errore di lettura al byte %s, leggendo %lu byte"
+msgstr[0] "%s: errore di lettura al byte %s leggendo %lu byte"
+msgstr[1] "%s: errore di lettura al byte %s leggendo %lu byte"
 
 #: lib/paxerror.c:192
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Warning: Read error at byte %s, while reading %lu byte"
 msgid_plural "%s: Warning: Read error at byte %s, while reading %lu bytes"
-msgstr[0] "%s: attenzione: errore di lettura al byte %s, leggendo %lu byte"
-msgstr[1] "%s: attenzione: errore di lettura al byte %s, leggendo %lu byte"
+msgstr[0] "%s: attenzione: errore di lettura al byte %s leggendo %lu byte"
+msgstr[1] "%s: attenzione: errore di lettura al byte %s leggendo %lu byte"
 
 #: lib/paxerror.c:259
 #, c-format
@@ -269,32 +271,32 @@ msgstr "%s: attenzione: impossibile fare seek a %s"
 #: lib/paxerror.c:284
 #, c-format
 msgid "%s: Cannot create symlink to %s"
-msgstr "%s: impossibile creare un link simbolico a %s"
+msgstr "%s: impossibile creare un collegamento simbolico a %s"
 
 #: lib/paxerror.c:349
 #, c-format
 msgid "%s: Wrote only %lu of %lu byte"
 msgid_plural "%s: Wrote only %lu of %lu bytes"
-msgstr[0] "%s: scritti solo %lu byte di %lu"
-msgstr[1] "%s: scritti solo %lu byte di %lu"
+msgstr[0] "%s: scritto solo %lu byte su %lu"
+msgstr[1] "%s: scritti solo %lu byte su %lu"
 
 #: lib/paxnames.c:155
 #, c-format
 msgid "Removing leading `%s' from member names"
-msgstr "Rimuovo il `%s' iniziale dai nomi dei membri"
+msgstr "Rimozione di \"%s\" iniziale dai nomi dei membri"
 
 #: lib/paxnames.c:156
 #, c-format
 msgid "Removing leading `%s' from hard link targets"
-msgstr "`%s' iniziale rimosso dagli obiettivi degli hard link"
+msgstr "Rimozione di \"%s\" iniziale dagli obiettivi dei collegamenti fisici"
 
 #: lib/paxnames.c:169
 msgid "Substituting `.' for empty member name"
-msgstr "Sostituisco `.' al nome vuoto di un membro"
+msgstr "Sostituzione di \".\" al nome vuoto di un membro"
 
 #: lib/paxnames.c:170
 msgid "Substituting `.' for empty hard link target"
-msgstr "Sostituisco `.' all'obbiettivo vuoto di un hard link"
+msgstr "Sostituzione di \".\" all'obiettivo vuoto di un collegamento fisico"
 
 #. TRANSLATORS:
 #. Get translations for open and closing quotation marks.
@@ -317,19 +319,31 @@ msgstr "Sostituisco `.' all'obbiettivo vuoto di un hard link"
 #. and use glyphs suitable for your language.
 #: lib/quotearg.c:266
 msgid "`"
-msgstr "'"
+msgstr "\""
 
 #: lib/quotearg.c:267
 msgid "'"
-msgstr "'"
-
-#: lib/rpmatch.c:69
+msgstr "\""
+
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
-msgstr ""
-
-#: lib/rpmatch.c:72
+msgstr "^[sSyY]"
+
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
-msgstr ""
+msgstr "^[nN]"
 
 #: lib/rtapelib.c:299
 #, c-format
@@ -356,7 +370,7 @@ msgstr "Impossibile eseguire la shell remota"
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
 #: lib/version-etc.c:65
 msgid "(C)"
-msgstr ""
+msgstr "©"
 
 #: lib/version-etc.c:67
 msgid ""
@@ -367,24 +381,31 @@ msgid ""
 "There is NO WARRANTY, to the extent permitted by law.\n"
 "\n"
 msgstr ""
+"\n"
+"Licenza GPLv3+: GNU GPL versione 3 o successiva <http://gnu.org/licenses/gpl."
+"html>\n"
+"Questo programma è software libero: siete liberi di modificarlo e "
+"ridistribuirlo.\n"
+"Non c'è ALCUNA GARANZIA, per quanto consentito dalle vigenti normative.\n"
+"\n"
 
 #. TRANSLATORS: %s denotes an author name.
 #: lib/version-etc.c:83
-#, fuzzy, c-format
+#, c-format
 msgid "Written by %s.\n"
-msgstr "Scritto da F. Pinard."
+msgstr "Scritto da %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #: lib/version-etc.c:87
-#, fuzzy, c-format
+#, c-format
 msgid "Written by %s and %s.\n"
-msgstr "Scritto da F. Pinard."
+msgstr "Scritto da %s e %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #: lib/version-etc.c:91
-#, fuzzy, c-format
+#, c-format
 msgid "Written by %s, %s, and %s.\n"
-msgstr "Scritto da F. Pinard."
+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
@@ -395,6 +416,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "and %s.\n"
 msgstr ""
+"Scritto da %s, %s, %s\n"
+"e %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -405,6 +428,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "%s, and %s.\n"
 msgstr ""
+"Scritto da %s, %s, %s,\n"
+"%s e %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -415,6 +440,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, and %s.\n"
 msgstr ""
+"Scritto da %s, %s, %s,\n"
+"%s, %s e %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -425,6 +452,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, %s, and %s.\n"
 msgstr ""
+"Scritto da %s, %s, %s,\n"
+"%s, %s, %s e %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -436,6 +465,9 @@ msgid ""
 "%s, %s, %s, %s,\n"
 "and %s.\n"
 msgstr ""
+"Scritto da %s, %s, %s,\n"
+"%s, %s, %s, %s\n"
+"e %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -447,6 +479,9 @@ msgid ""
 "%s, %s, %s, %s,\n"
 "%s, and %s.\n"
 msgstr ""
+"Scritto da %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s e %s.\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -458,14 +493,17 @@ msgid ""
 "%s, %s, %s, %s,\n"
 "%s, %s, and others.\n"
 msgstr ""
+"Scritto da %s, %s, %s,\n"
+"%s, %s, %s, %s,\n"
+"%s, %s e altri.\n"
 
 #: rmt/rmt.c:142
 msgid "Input string too long"
-msgstr ""
+msgstr "Stringa di input troppo lunga"
 
 #: rmt/rmt.c:161
 msgid "Number syntax error"
-msgstr ""
+msgstr "Errore nella sintassi del numero"
 
 #: rmt/rmt.c:180
 msgid "rmtd: Cannot allocate buffer space\n"
@@ -478,10 +516,10 @@ msgstr "Impossibile allocare spazio per il buffer"
 #: rmt/rmt.c:304
 #, c-format
 msgid "Try `%s --help' for more information.\n"
-msgstr "Usare `%s --help' per ulteriori informazioni.\n"
+msgstr "Usare \"%s --help\" per ulteriori informazioni.\n"
 
 #: rmt/rmt.c:308
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Usage: %s [OPTION]\n"
 "Manipulate a tape drive, accepting commands from a remote process.\n"
@@ -490,10 +528,10 @@ msgid ""
 "  --help     Output this help.\n"
 msgstr ""
 "Uso: %s [OPZIONE]\n"
-"Manipola un drive per nastri accettando comandi da un processo remoto.\n"
+"Manipola un'unità a nastro accettando comandi da un processo remoto.\n"
 "\n"
-" --version  Mostra le informazioni sulla versione.\n"
-" --help     Mostra questo aiuto.\n"
+"  --version  Mostra le informazioni sulla versione.\n"
+"  --help     Mostra questo aiuto.\n"
 
 #: rmt/rmt.c:315
 #, c-format
@@ -505,218 +543,225 @@ msgstr ""
 "Segnalare i bug a <%s>.\n"
 
 #: rmt/rmt.c:397
-#, fuzzy
 msgid "Seek offset error"
-msgstr "Offset di seek fuori dai limiti"
+msgstr "Errore offset di seek"
 
 #: rmt/rmt.c:406 rmt/rmt.c:547 rmt/rmt.c:557
 msgid "Seek offset out of range"
-msgstr "Offset di seek fuori dai limiti"
+msgstr "Offset di seek fuori dell'intervallo"
 
 #: rmt/rmt.c:428
 msgid "Seek direction out of range"
-msgstr "Direzione di seek fuori dai limiti"
+msgstr "Direzione di seek fuori dell'intervallo"
 
 #: rmt/rmt.c:472
 msgid "rmtd: Premature eof\n"
-msgstr "rmtd: fine del file prematura\n"
+msgstr "rmtd: prematura fine del file\n"
 
 #: rmt/rmt.c:474
 msgid "Premature end of file"
-msgstr "Fine del file prematura"
+msgstr "Prematura fine del file"
 
 #: rmt/rmt.c:672
 msgid "Garbage command"
 msgstr "Comando spazzatura"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Questo non sembra un archivio tar"
 
-#: src/buffer.c:333 src/buffer.c:342
-#, fuzzy
+#: src/buffer.c:352 src/buffer.c:361
 msgid "Total bytes written"
-msgstr "Byte totali scritti: %s (%s, %s/s)\n"
+msgstr "Byte totali scritti"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
-msgstr ""
+msgstr "Byte totali letti"
 
-#: src/buffer.c:344
-#, fuzzy, c-format
+#: src/buffer.c:363
+#, c-format
 msgid "Total bytes deleted: %s\n"
-msgstr "Byte totali scritti: %s (%s, %s/s)\n"
+msgstr "Byte totali eliminati: %s\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(pipe)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "Valore di record_size non valido"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
-msgstr "Non è stato indicato il nome di un archivio"
+msgstr "Non è stato indicato il nome di un archivio"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Impossibile verificare archivi su stdin/stdout"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
-msgstr "L'archivio è compresso. Usare l'opzione %s."
+msgstr "L'archivio è compresso. Usare l'opzione %s."
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Impossibile aggiornare archivi compressi"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
-msgstr "All'inizio del nastro, abbandono adesso"
+msgstr "All'inizio del nastro, uscita immediata"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
-msgstr "Troppi errori, abbandono"
-
-#: src/buffer.c:678
-#, c-format
-msgid "Unaligned block (%lu byte) in archive"
-msgid_plural "Unaligned block (%lu bytes) in archive"
-msgstr[0] "Blocco non allineato (%lu byte) nell'archivio"
-msgstr[1] "Blocco non allineato (%lu byte) nell'archivio"
+msgstr "Troppi errori, uscita"
 
-#: src/buffer.c:698
+#: src/buffer.c:695
 #, 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:771
+#: src/buffer.c:716
+#, 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:793
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
-"Impossibile muoversi all'indietro nel file dell'archivio; potrebbe essere\n"
-"illeggibile senza l'opzione -i"
+"Impossibile muoversi all'indietro nel file dell'archivio; potrebbe non "
+"essere\n"
+"leggibile senza l'opzione -i"
 
-#: src/buffer.c:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
-msgstr "rmtlseek non si è fermato al limite di un record"
+msgstr "rmtlseek non si è fermato al limite di un record"
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: contiene un numero di volume non valido"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Overflow del numero di volume"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Preparare il volume #%d per %s e premere Invio: "
 
-#: src/buffer.c:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "Ricevuto EOF quando era attesa la risposta dell'utente"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
-msgstr "ATTENZIONE: l'archivio non è completo"
+msgstr "Attenzione: l'archivio non è completo"
 
-#: src/buffer.c:934
-#, fuzzy, c-format
+#: src/buffer.c:954
+#, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
 " q             Abort tar\n"
 " y or newline  Continue operation\n"
 msgstr ""
-" n [nome]   Cambia il nome del file per il prossimo volume (e i successivi)\n"
-" q          Termina tar\n"
-" !          Esegui una subshell\n"
-" ?          Stampa questa lista\n"
+" n nome        Cambia il nome del file per il prossimo volume (e i "
+"successivi)\n"
+" q             Termina tar\n"
+" y o Invio     Continua l'operazione\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
-msgstr ""
+msgstr " !             Esegue una subshell\n"
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
-msgstr ""
+msgstr " ?             Stampa questo elenco\n"
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
-msgstr "Nessun nuovo volume; esco.\n"
+msgstr "Nessun nuovo volume; uscita.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
-msgstr ""
+msgstr "Nome file non specificato. Riprovare.\n"
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
-msgstr ""
+msgstr "Input non valido. Premere ? per l'aiuto.\n"
 
-#: src/buffer.c:1044
-#, fuzzy, c-format
+#: src/buffer.c:1064
+#, c-format
 msgid "%s command failed"
-msgstr "comando `%s' fallito"
+msgstr "comando \"%s\" non riuscito"
 
-#: src/buffer.c:1199
-#, fuzzy, c-format
+#: src/buffer.c:1219
+#, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
-msgstr "%s non continua su questo volume"
+msgstr ""
+"%s potrebbe continuare su questo volume: l'intestazione contiene un nome "
+"troncato"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s non continua su questo volume"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
-msgstr "%s è la dimensione sbagliata (%s != %s + %s)"
+msgstr "%s è la dimensione sbagliata (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
-msgstr "Questo volume è fuori sequenza"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
+msgstr "Questo volume è fuori sequenza"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "L'archivio non ha un'etichetta corrispondente a %s"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Il volume %s non corrisponde a %s"
 
-#: src/buffer.c:1372
-#, fuzzy, c-format
+#: src/buffer.c:1400
+#, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
-"%s: il nome del file è troppo lungo per essere scritto in un'intestazione "
-"GNU multivolume"
+"%s: il nome del file è troppo lungo per essere scritto in un'intestazione "
+"GNU multi-volume, troncato"
+
+#: src/buffer.c:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "rmtlseek non si è fermato al limite di un record"
 
 #: src/compare.c:96
 #, c-format
 msgid "Could only read %lu of %lu byte"
 msgid_plural "Could only read %lu of %lu bytes"
-msgstr[0] "Ho potuto leggere solo %lu byte di %lu"
-msgstr[1] "Ho potuto leggere solo %lu byte di %lu"
+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:388
 msgid "Contents differ"
 msgstr "I contenuti sono differenti"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "EOF inatteso nell'archivio"
 
@@ -738,7 +783,7 @@ msgstr "I GID sono diversi"
 
 #: src/compare.c:212
 msgid "Mod time differs"
-msgstr "I tempi di modifica sono diversi"
+msgstr "Gli orari di modifica sono diversi"
 
 #: src/compare.c:216 src/compare.c:420
 msgid "Size differs"
@@ -747,15 +792,15 @@ msgstr "Le dimensioni sono diverse"
 #: src/compare.c:270
 #, c-format
 msgid "Not linked to %s"
-msgstr "Non è un link a %s"
+msgstr "Non è collegato a %s"
 
 #: src/compare.c:293
 msgid "Symlink differs"
-msgstr "Il link simbolico è diverso"
+msgstr "I collegamenti simbolici sono diversi"
 
 #: src/compare.c:322
 msgid "Device number differs"
-msgstr "Il numero del dispositivo è diverso"
+msgstr "I numeri dei device sono diversi"
 
 #: src/compare.c:462
 #, c-format
@@ -763,9 +808,9 @@ msgid "Verify "
 msgstr "Verifica "
 
 #: src/compare.c:469
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Unknown file type `%c', diffed as normal file"
-msgstr "%s: tipo di file '%c' sconosciuto, confrontato come un file normale"
+msgstr "%s: tipo di file \"%c\" sconosciuto, confrontato come un file normale"
 
 #: src/compare.c:524
 msgid "Archive contains file names with leading prefixes removed."
@@ -779,8 +824,8 @@ msgstr "La verifica potrebbe non riuscire a trovare i file originali."
 #, 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"
+msgstr[0] "Errore di verifica: trovata %d intestazione non valida"
+msgstr[1] "Errore di verifica: trovate %d intestazioni non valide"
 
 #: src/compare.c:612 src/list.c:144
 #, c-format
@@ -788,14 +833,14 @@ msgid "A lone zero block at %s"
 msgstr "Un singolo blocco di zeri a %s"
 
 #: src/create.c:67
-#, fuzzy, c-format
+#, c-format
 msgid "%s: contains a cache directory tag %s; %s"
-msgstr "%s: è etichettata come cache; non archiviata"
+msgstr "%s: contiene un'etichetta di directory cache %s; %s"
 
 #: src/create.c:272
 #, c-format
 msgid "value %s out of %s range %s..%s; substituting %s"
-msgstr "valore %s fuori dall'intervallo (%s) %s..%s; sostituisco %s"
+msgstr "valore %s fuori dall'intervallo (%s) %s..%s; sostituzione con %s"
 
 #: src/create.c:278
 #, c-format
@@ -809,34 +854,34 @@ msgstr "Generazione delle intestazioni ottali negative"
 #: src/create.c:624 src/create.c:687
 #, 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"
+msgstr "%s: il nome del file è troppo lungo (max %d); non archiviato"
 
 #: src/create.c:634
 #, 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"
+"%s: il nome del file è troppo lungo (impossibile dividerlo); non archiviato"
 
 #: src/create.c:661
 #, c-format
 msgid "%s: link name is too long; not dumped"
-msgstr "%s: il nome del link è troppo lungo; non archiviato"
+msgstr "%s: il nome del collegamento è troppo lungo; non archiviato"
 
 #: src/create.c:1076
 #, 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: il file si è ristretto di %s byte; lo riempio con zeri"
-msgstr[1] "%s: il file si è ristretto di %s byte; lo riempio con zeri"
+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:1177
 #, 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:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
-msgstr ""
+msgstr "contenuti non archiviati"
 
 #: src/create.c:1361
 #, c-format
@@ -844,34 +889,33 @@ msgid "%s: Unknown file type; file ignored"
 msgstr "%s: tipo di file sconosciuto; file ignorato"
 
 #: src/create.c:1464
-#, fuzzy, c-format
+#, c-format
 msgid "Missing links to %s.\n"
-msgstr "Mancano i link a '%s'.\n"
+msgstr "Collegamenti mancanti a %s.\n"
 
 #: src/create.c:1535
 #, c-format
 msgid "%s: file is unchanged; not dumped"
-msgstr "%s: non modificato; non archiviato"
+msgstr "%s: il file non è modificato; non archiviato"
 
 #: src/create.c:1543
 #, c-format
 msgid "%s: file is the archive; not dumped"
-msgstr "%s: il file è l'archivio; non archiviato"
+msgstr "%s: il file è l'archivio; non archiviato"
 
 #: src/create.c:1573
 #, c-format
 msgid "%s: File removed before we read it"
-msgstr "%s: il file è stato cancellato prima che potessi leggerlo"
+msgstr "%s: file rimosso prima di poterlo leggere"
 
-#: src/create.c:1591 src/incremen.c:474
-#, fuzzy
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
-msgstr "%s: è etichettata come cache; non archiviata"
+msgstr "directory non archiviata"
 
 #: src/create.c:1659
 #, c-format
 msgid "%s: file changed as we read it"
-msgstr "%s: il file è cambiato mentre lo stavo leggendo"
+msgstr "%s: file modificato mentre era in lettura"
 
 #: src/create.c:1739
 #, c-format
@@ -885,201 +929,205 @@ msgstr "%s: door ignorata"
 
 #: src/delete.c:216 src/list.c:181 src/update.c:170
 msgid "Skipping to next header"
-msgstr "Salto alla prossima intestazione"
+msgstr "Passaggio alla prossima intestazione"
 
 #: src/delete.c:281
 msgid "Deleting non-header from archive"
-msgstr "Cancello una non-intestazione dall'archivio"
+msgstr "Eliminazione non-intestazione dall'archivio"
 
 #: src/extract.c:198
 #, c-format
 msgid "%s: implausibly old time stamp %s"
-msgstr "%s: l'orario %s è implausibilmente vecchio"
+msgstr "%s: orario %s inverosimilmente vecchio"
 
+# (ndt) problema del plurale...
 #: src/extract.c:215
-#, fuzzy, c-format
+#, c-format
 msgid "%s: time stamp %s is %s s in the future"
-msgstr "%s: l'orario %s è %lu s nel futuro"
+msgstr "%s: l'orario %s è %s secondi nel futuro"
 
 #: src/extract.c:395
 #, c-format
 msgid "%s: Unexpected inconsistency when making directory"
-msgstr "%s: incoerenza inaspettata durante la creazione della directory"
+msgstr "%s: incoerenza inaspettata nel creare la directory"
 
 #: src/extract.c:588
 #, c-format
 msgid "%s: Directory renamed before its status could be extracted"
-msgstr ""
-"%s: directory rinominata prima che fosse possibile estrarre il suo stato"
+msgstr "%s: directory rinominata prima di poterne estrarre lo stato"
 
 #: src/extract.c:724
 msgid "Extracting contiguous files as regular files"
-msgstr "Estraggo i file contigui come file normali"
+msgstr "Estrazione file contigui come file normali"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
-msgstr "Cerco di estrarre i link simbolici come hard link"
+msgstr ""
+"Tentativo di estrazione dei collegamenti simbolici come collegamenti fisici"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
-msgstr "Leggo %s\n"
+msgstr "Lettura di %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
-msgstr "%s: impossibile estrarlo -- il file continua da un altro volume"
+msgstr "%s: impossibile estrarre -- il file continua da un altro volume"
 
-#: src/extract.c:1153 src/list.c:1081
-#, fuzzy
+#: src/extract.c:1150 src/list.c:1090
 msgid "Unexpected long name header"
-msgstr "EOF inaspettato nei nomi mutilati"
+msgstr "Intestazione di nome lungo inattesa"
 
-#: src/extract.c:1159
-#, fuzzy, c-format
+#: src/extract.c:1156
+#, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
-msgstr "%s: il tipo di file '%c' è sconosciuto, estratto come un file normale"
+msgstr "%s: tipo di file \"%c\" sconosciuto, estratto come file normale"
 
-#: src/extract.c:1184
-#, fuzzy, c-format
+# (ndt) questo è il pezzo di codice
+# if (file_newer_p (file_name, &current_stat_info))
+#      {
+#        WARN ((0, 0, _("Current %s is newer or same age"),
+#               quote (file_name)));
+#        return 0;
+#      }
+#: src/extract.c:1181
+#, c-format
 msgid "Current %s is newer or same age"
-msgstr "Il `%s' corrente è più recente"
+msgstr "Il file \"%s\" corrente è più recente o ha la stessa data"
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
-msgstr "%s: non è stato possibile fare il backup di questo file"
+msgstr "%s: impossibile eseguire il backup di questo file"
 
-#: src/extract.c:1358
-#, fuzzy, c-format
+#: src/extract.c:1355
+#, c-format
 msgid "Cannot rename %s to %s"
-msgstr "%s: impossibile rinominarlo in %s"
+msgstr "Impossibile rinominare %s in %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
-msgstr "Errore irrimediabile: esco subito"
+msgstr "Errore irrimediabile: uscita immediata"
 
-#: src/incremen.c:390 src/incremen.c:430
-#, fuzzy, c-format
+#: src/incremen.c:445 src/incremen.c:489
+#, c-format
 msgid "%s: Directory has been renamed from %s"
-msgstr "%s: la directory è stata rinominata"
+msgstr "%s: directory rinominata da %s"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
-msgstr "%s: la directory è stata rinominata"
+msgstr "%s: directory rinominata"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
-msgstr "%s: la directory è nuova"
+msgstr "%s: la directory è nuova"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Orario non valido"
 
-#: src/incremen.c:889
-#, fuzzy
+#: src/incremen.c:949
 msgid "Invalid modification time (seconds)"
-msgstr "Modo dell'opzione non valido"
+msgstr "Orario di modifica non valido (secondi)"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
-msgstr ""
+msgstr "Orario di modifica non valido (nanosecondi)"
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
-msgstr "Numero di dispositivo non valido"
+msgstr "Numero di device non valido"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Numero dell'inode non valido"
 
-#: src/incremen.c:990 src/incremen.c:1027
+# (ndt) oppure rendere snapshot come istantanea?
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
-msgstr ""
+msgstr "Campo troppo lungo nel leggere il file di snapshot"
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
-msgstr ""
+msgstr "Errore di lettura nel file di snapshot"
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
-#, fuzzy
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 msgid "Unexpected EOF in snapshot file"
-msgstr "EOF inatteso nell'archivio"
+msgstr "EOF inatteso nel file di snapshot"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
-msgstr ""
+msgstr "Valore del campo inatteso nel file di snapshot"
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
-msgstr ""
+msgstr "Record finale mancante"
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
-msgstr ""
+msgstr "Formato file incrementale errato"
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
-msgstr ""
+msgstr "Versione formato incrementale non supportata: %<PRIuMAX>"
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
-msgstr ""
+msgstr "dumpdir malformata: atteso \"%c\", ma trovato %#3o"
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
-msgstr ""
+msgstr "dumpdir malformata: \"X\" duplicata"
 
-#: src/incremen.c:1392
-#, fuzzy
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
-msgstr "Argomento della densità malformato: '%s'"
+msgstr "dumpdir malformata: nessun nome in \"R\""
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
-msgstr ""
+msgstr "dumpdir malformata: \"T\" non preceduta da \"R\""
 
-#: src/incremen.c:1411
-#, fuzzy
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
-msgstr "Argomento della densità malformato: '%s'"
+msgstr "dumpdir malformata: nessun nome in \"T\""
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
-msgstr ""
+msgstr "dumpdir malformata: atteso \"%c\", ma trovata la fine dei dati"
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
-msgstr ""
+msgstr "dumpdir malformata: \"X\" mai usata"
 
-#: src/incremen.c:1481
-#, fuzzy, c-format
+#: src/incremen.c:1541
+#, c-format
 msgid "Cannot create temporary directory using template %s"
-msgstr "Impossibile allocare memoria per il blocking factor %d"
+msgstr "Impossibile creare la directory temporanea usando il modello %s"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
-msgstr "%s: non elimino la directory: impossibile fare stat"
+msgstr "%s: eliminazione directory non eseguita: impossibile fare stat"
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, c-format
 msgid "%s: directory is on a different device: not purging"
-msgstr "%s: la directory si trova su un altro dispositivo: non eliminata"
+msgstr "%s: la directory si trova su un altro device: non eliminata"
 
-#: src/incremen.c:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
-msgstr "%s: cancello %s\n"
+msgstr "%s: eliminazione di %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: impossibile rimuoverlo"
@@ -1097,98 +1145,98 @@ msgstr "blocco %s: ** Blocco di NUL **\n"
 #: src/list.c:155
 #, c-format
 msgid "block %s: ** End of File **\n"
-msgstr "blocco %s: ** Fine del File **\n"
+msgstr "blocco %s: ** Fine del file **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "blocco %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
-msgstr "Trovati spazi nell'header dove era atteso il valore numerico %s"
+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:717
+#: src/list.c:726
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
-"Il valore ottale %.*s dell'archivio è fuori dall'intervallo %s; si suppone\n"
+"Il valore ottale %.*s dell'archivio è fuori dall'intervallo %s; si suppone\n"
 "che sia in complemento a due"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:728
+#: src/list.c:737
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
-msgstr "Il valore ottale %.*s dell'archivio è fuori dall'intervallo %s"
+msgstr "Il valore ottale %.*s dell'archivio è fuori dall'intervallo %s"
 
-#: src/list.c:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
-msgstr "L'archivio contiene intestazioni base-64 obsolescenti"
+msgstr "L'archivio contiene intestazioni base-64 obsolete"
 
-#: src/list.c:763
+#: src/list.c:772
 #, 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"
+"La stringa base-64 con segno %s dell'archivio è fuori dall'intervallo %s"
 
-#: src/list.c:794
+#: src/list.c:803
 #, c-format
 msgid "Archive base-256 value is out of %s range"
-msgstr "Il valore base-256 dell'archvio è fuori dall'intervallo %s"
+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:823
+#: src/list.c:832
 #, 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:845
-#, fuzzy, c-format
+#: src/list.c:854
+#, 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"
+msgstr "Il valore %s dell'archivio è fuori dall'intervallo (%s) %s..%s"
 
-#: src/list.c:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
-msgstr " link a %s\n"
+msgstr " collegamento a %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " tipo di file sconosciuto %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
-msgstr "--Link Lungo--\n"
+msgstr "--Collegamento lungo--\n"
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
-msgstr "--Nome Lungo--\n"
+msgstr "--Nome lungo--\n"
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
-msgstr "--Intestazione del Volume--\n"
+msgstr "--Intestazione del volume--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Continua al byte %s--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
-msgstr "Creo la directory:"
+msgstr "Creazione directory:"
 
 #: src/misc.c:456
 #, c-format
 msgid "Renaming %s to %s\n"
-msgstr "Rinomino %s in %s\n"
+msgstr "Rinomina di %s in %s\n"
 
 #: src/misc.c:465 src/misc.c:483
 #, c-format
@@ -1198,7 +1246,7 @@ msgstr "%s: impossibile rinominarlo in %s"
 #: src/misc.c:488
 #, c-format
 msgid "Renaming %s back to %s\n"
-msgstr "Rinomino di nuovo %s in %s\n"
+msgstr "Rinomina di %s nuovamente in %s\n"
 
 #: src/misc.c:615
 msgid "Cannot save working directory"
@@ -1216,26 +1264,27 @@ msgstr "il processo figlio"
 msgid "interprocess channel"
 msgstr "il canale tra processi"
 
+# (ndt) pattern matching... trovare di meglio...
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
-msgstr ""
+msgstr "Usati caratteri di corrispondenza nei nomi dei file. Usare "
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
-msgstr ""
+msgstr "--wildcards per abilitare la corrispondenza o --no-wildcards "
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
-msgstr ""
+msgstr "per disattivare questo avviso."
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: non trovato nell'archivio"
 
-#: src/names.c:621
+#: src/names.c:615
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: occorrenza richiesta non trovata nell'archivio"
@@ -1243,7 +1292,7 @@ msgstr "%s: occorrenza richiesta non trovata nell'archivio"
 #: src/tar.c:79
 #, 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:156
 #, c-format
@@ -1252,16 +1301,17 @@ msgstr "%s: formato dell'archivio non valido"
 
 #: src/tar.c:180
 msgid "GNU features wanted on incompatible archive format"
-msgstr "Richieste funzionalità GNU su un formato di archivio incompatibile"
+msgstr "Richieste funzionalità GNU su un formato di archivio incompatibile"
 
 #: src/tar.c:241
 #, c-format
 msgid ""
 "Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
 msgstr ""
+"Stile di citazione \"%s\" non conosciuto. Provare \"%s --quoting-style=help"
+"\" per visualizzarne un elenco."
 
-#: src/tar.c:334
-#, fuzzy
+#: src/tar.c:336
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1271,18 +1321,17 @@ msgid ""
 "  tar -tvf archive.tar         # List all files in archive.tar verbosely.\n"
 "  tar -xf archive.tar          # Extract all files from archive.tar.\n"
 msgstr ""
-"\n"
-"\n"
-"Uso: %s [OPZIONE]... [FILE]...\n"
+"La versione GNU di \"tar\" è in grado di salvare molti file in un solo "
+"archivio su nastro o su disco e può ripristinare singoli file "
+"dall'archivio.\n"
 "\n"
 "Esempi:\n"
-"  %s -cf archivio.tar foo bar # Crea archivio.tar dai file foo e bar.\n"
-"  %s -tvf archivio.tar        # Elenca prolissamente i file in archivio."
+"  tar -cf archivio.tar foo bar # Crea archivio.tar dai file foo e bar.\n"
+"  tar -tvf archivio.tar        # Elenca prolissamente i file in archivio."
 "tar.\n"
-"  %s -xf archive.tar          # Estrae tutti i file da archivio.tar.\n"
+"  tar -xf archivio.tar         # Estrae tutti i file da archivio.tar.\n"
 
-#: src/tar.c:343
-#, fuzzy
+#: src/tar.c:345
 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 "
@@ -1293,1884 +1342,1361 @@ msgid ""
 "  nil, existing   numbered if numbered backups exist, simple otherwise\n"
 "  never, simple   always make simple backups\n"
 msgstr ""
-"GNU `tar' salva molti file in un solo archivio su nastro o disco e può\n"
-"ripristinare singoli file dall'archivio.\n"
-"\n"
-"Esempi:\n"
-"  tar -cf archivio.tar foo bar  # Crea archivio.tar dai file foo e bar.\n"
-"  tar -tvf archive.tar          # Elenca prolissamente i file in archivio."
-"tar.\n"
-"  tar -xf archive.tar           # Estrae tutti i file da archivio.tar.\n"
-"Il suffisso dei backup è `~', a meno che sia impostato con --suffix oppure\n"
+"Il suffisso dei backup è \"~\" a meno che non sia impostato con --suffix "
+"oppure\n"
 "SIMPLE_BACKUP_SUFFIX.\n"
-"Il controllo di versione può essere impostato con --backup oppure\n"
-"VERSION_CONTROL, i valori possibili sono:\n"
+"Il controllo di versione può essere impostato con --backup oppure "
+"VERSION_CONTROL,\n"
+"i valori possibili sono:\n"
 "\n"
-"  t, numbered     fa backup numerati\n"
-"  nil, existing   numerati se esistono backup numerati, altrimenti semplici\n"
-"  never, simple   fa sempre backup semplici\n"
+"  none, off       Non esegue mai i backup\n"
+"  t, numbered     Esegue backup numerati\n"
+"  nil, existing   Numerati se esistono backup numerati, altrimenti semplici\n"
+"  never, simple   Esegue sempre backup semplici\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr "Modi operativi principali:"
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
-msgstr "elenca i contenuti dell'archivio"
+msgstr "Elenca i contenuti dell'archivio"
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
-msgstr "estrae file da un archivio"
+msgstr "Estrae file da un archivio"
 
-#: src/tar.c:377
+#: src/tar.c:379
 msgid "create a new archive"
-msgstr "crea un nuovo archivio"
+msgstr "Crea un nuovo archivio"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
-msgstr "cerca differenze tra l'archivio e il file system"
+msgstr "Trova differenze tra l'archivio e il file system"
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
-msgstr "accoda i file alla fine di un archivio"
+msgstr "Accoda i file alla fine di un archivio"
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
-msgstr "accoda solo i file più recenti della copia nell'archivio"
+msgstr "Accoda solo i file più recenti della copia nell'archivio"
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
-msgstr "aggiunge il contenuto di un altro archivio"
+msgstr "Aggiunge il contenuto di un altro archivio"
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
-msgstr "cancella dall'archivio (non su nastri magnetici!)"
+msgstr "Elimina dall'archivio (non su nastri magnetici)"
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
-msgstr ""
+msgstr "Verifica l'etichetta di volume dell'archivio ed esce"
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr "Modificatori delle operazioni:"
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
-msgstr "gestisce efficientemente i file sparsi"
+msgstr "Gestisce efficientemente i file sparsi"
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
-msgstr ""
+msgstr "MAJOR[.MINOR]"
 
-#: src/tar.c:401
+# (ndt) hmmm... formato sparso...
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
-msgstr ""
+msgstr "Imposta la versione da usare per il formato sparso (implica --sparse)"
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr "gestisce i vecchi backup incrementali GNU"
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr "FILE"
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
-msgstr "gestisce i nuovi backup incrementali GNU"
+msgstr "Gestisce il nuovo formato di backup incrementali GNU"
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
-msgstr "non usce con non-zero quando ci sono file illeggibili"
+msgstr "Non esce con non-zero quando ci sono file non leggibili"
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr "NUMERO"
 
-#: src/tar.c:409
-#, fuzzy
+#: src/tar.c:411
 msgid ""
 "process only the NUMBERth occurrence of each file in the archive; this "
 "option is valid only in conjunction with one of the subcommands --delete, --"
 "diff, --extract or --list and when a list of files is given either on the "
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
-"processa solo la N-esima occorrenza di ogni file nell'archivio. Questa "
-"opzione è valida solo se usata insieme con uno dei sottocomandi --delete, --"
-"diff, --extract o --list, e quando una lista di file è fornita da linea di "
-"comando o attraverso l'opzione -T. NUMERO è predefinito a 1."
+"Elabora solo la NUMERO-esima occorrenza di ogni file nell'archivio; "
+"quest'opzione è valida solo se usata insieme a uno dei sottocomandi --"
+"delete, --diff, --extract o --list e quando viene fornito un elenco di file "
+"sulla riga di comando o attraverso l'opzione -T; il valore predefinito di "
+"NUMERO è 1"
 
-#: src/tar.c:415
-#, fuzzy
+#: src/tar.c:417
 msgid "archive is seekable"
-msgstr "È possibile posizionarsi nell'archivio"
+msgstr "L'archivio è posizionabile"
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
-msgstr ""
+msgstr "Non controlla i numeri del device quando crea archivi incrementali"
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
+"Controlla i numeri del device quando crea archivi incrementali (predefinito)"
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
-msgstr ""
+msgstr "Controlli di sovrascrittura:"
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
-msgstr "prova a verificare l'archivio dopo averlo scritto"
+msgstr "Tenta di verificare l'archivio dopo averlo scritto"
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
-msgstr "cancella i file dopo averli aggiunti all'archivio"
+msgstr "Rimuove i file dopo averli aggiunti all'archivio"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
-msgstr "durante l'estrazione non sovrascrive i file esistenti"
+msgstr "Durante l'estrazione non sovrascrive i file esistenti"
 
-#: src/tar.c:435
+#: src/tar.c:437
 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"
+msgstr "Non sostituisce i file esistenti più recenti delle copie nell'archivio"
 
-#: src/tar.c:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
-msgstr "sovrascrive i file esistenti durante l'estrazione"
+msgstr "Sovrascrive i file esistenti durante l'estrazione"
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
-msgstr "cancella ogni file prima di estrarre su di esso"
+msgstr "Rimuove ogni file prima di estrarre su di esso"
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
-msgstr "svuota le directory prima di estrarle"
+msgstr "Svuota le directory prima di estrarle"
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
-msgstr "preserva i metadati delle directory esistenti"
+msgstr "Preserva i metadati delle directory esistenti"
 
-#: src/tar.c:445
-#, fuzzy
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
-msgstr "sovrascrive i file esistenti durante l'estrazione"
+msgstr ""
+"Sovrascrive i metadati delle directory esistenti durante l'estrazione "
+"(predefinito)"
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
-msgstr ""
+msgstr "Selezione stream di output:"
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
-msgstr "estrae i file su standard output"
+msgstr "Estrae i file sullo standard output"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr "COMANDO"
 
-#: src/tar.c:456
-#, fuzzy
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
-msgstr "estrae i file su standard output"
+msgstr "Invia in pipe i file estratti a un altro programma"
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
-msgstr ""
+msgstr "Ignora il codice di uscita dei figli"
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
-msgstr ""
+msgstr "Considera i codici di uscita non-zero come un errore"
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr "Gestione degli attributi dei file:"
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
-msgstr "forza il proprietario NOME per i file aggiunti"
+msgstr "Forza NOME come proprietario per i file aggiunti"
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
-msgstr "forza il gruppo NOME per i file aggiunti"
+msgstr "Forza NOME come gruppo per i file aggiunti"
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr "DATA-O-FILE"
 
-#: src/tar.c:472
-#, fuzzy
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
-msgstr "archivia solo i file più recenti di DATA-O-FILE"
+msgstr "Imposta mtime per i file aggiunti da DATA-O-FILE"
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr "CAMBI"
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
-msgstr "forza il modo (simbolico) CAMBI per i file aggiunti"
+msgstr "Forza il modo CAMBI (simbolico) per i file aggiunti"
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
-msgstr ""
+msgstr "METODO"
 
-#: src/tar.c:477
+#: src/tar.c:479
 msgid ""
 "preserve access times on dumped files, either by restoring the times after "
 "reading (METHOD='replace'; default) or by not setting the times in the first "
 "place (METHOD='system')"
 msgstr ""
+"Preserva l'orario di accesso sui file archiviati, ripristinando l'orario "
+"dopo la lettura (METODO=\"replace\"; predefinito) o impostando l'orario "
+"all'inizio (METODO=\"system\")"
 
-#: src/tar.c:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
-msgstr "non estrae l'orario di ultima modifica del file"
+msgstr "Non estrae l'orario di ultima modifica del file"
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
-msgstr "cerca di estrarre i file mantenendo lo stesso proprietario"
+msgstr "Cerca di estrarre i file con lo stesso proprietario"
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
-msgstr "estrae i file come te stesso"
+msgstr "Estrae i file come l'utente attuale"
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
-msgstr "usa sempre i numeri per i nomi di utente/gruppo"
+msgstr "Usa sempre i numeri per i nomi di utente/gruppo"
 
-#: src/tar.c:489
+#: src/tar.c:491
 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:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
+"Applica la umask dell'utente nell'estrarre i permessi dall'archivio "
+"(predefinito per gli utenti normali)"
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
-msgstr "ordina i nomi da estrarre come nell'archivio"
+msgstr "Ordina i nomi da estrarre come nell'archivio"
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
-msgstr "come -p e -s insieme"
+msgstr "Come -p e -s assieme"
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
+"Ritarda l'impostazione dei tempi di modifica e dei permessi delle directory "
+"estratte al termine dell'estrazione"
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
-msgstr ""
+msgstr "Annulla l'effetto dell'opzione --delay-directory-restore"
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
-msgstr "Selezione e cambio del dispositivo:"
+msgstr "Selezione e cambio del device:"
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr "ARCHIVIO"
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
-msgstr "usa come archivio il file o il dispositivo ARCHIVIO"
+msgstr "Usa come archivio il file o il dispositivo ARCHIVIO"
 
-#: src/tar.c:513
-#, fuzzy
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
-msgstr "il file dell'archivio è locale anche se contiene `:'"
+msgstr "L'archivio è locale anche se contiene \":\""
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
-msgstr "usa il COMANDO rmt indicato invece di rmt"
+msgstr "Usa il COMANDO rmt indicato invece di rmt"
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
-msgstr "usa il COMANDO remoto invece di rsh"
+msgstr "Usa il COMANDO remoto invece di rsh"
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
-msgstr "indica drive e densità"
+msgstr "Indica drive e densità"
 
-#: src/tar.c:535
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
-msgstr "crea/elenca/estrae archivi multi-volume"
+msgstr "Crea, elenca, estrae archivi multi-volume"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
-msgstr "cambia il nastro dopo avere scritto NUMERO x 1024 byte"
+msgstr "Cambia il nastro dopo avere scritto NUMERO × 1024 byte"
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
-msgstr "esegue lo script alla fine di ogni nastro (implica -M)"
+msgstr "Esegue lo script alla fine di ogni nastro (implica -M)"
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
-msgstr "usa/aggiorna il numero del volume nel FILE"
+msgstr "Usa/aggiorna il numero del volume nel FILE"
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
-msgstr "Blocking dei dispositivi:"
+msgstr "Blocchi dei dispositivi:"
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr "BLOCCHI"
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
-msgstr "usa record di BLOCCHI x 512 byte"
+msgstr "Usa record di BLOCCHI × 512 byte"
 
-# Purtroppo non è possibile tradurre SIZE nell'opzione, quindi non posso
-# tradurlo nemmeno in questa descrizione.
-#: src/tar.c:552
-#, fuzzy
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
-msgstr "usa SIZE byte per record, multiplo di 512"
+msgstr "NUMERO di byte per record, multiplo di 512"
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
-msgstr "ignora i blocchi a zero nell'archivio (significa EOF)"
+msgstr "Ignora i blocchi a zero nell'archivio (significa EOF)"
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
-msgstr "rifà i blocchi in lettura (per le pipe di 4.2BSD)"
+msgstr "Rifà i blocchi durante la lettura (per le pipe di 4.2BSD)"
 
-#: src/tar.c:561
+#: src/tar.c:563
 msgid "Archive format selection:"
-msgstr "Selezione del formato di archiviazione:"
+msgstr "Selezione formato di archiviazione:"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr "FORMATO"
 
-#: src/tar.c:564
-#, fuzzy
+#: src/tar.c:566
 msgid "create archive of the given format"
-msgstr "crea gli archivi nel formato indicato."
+msgstr "Crea archivi nel formato indicato"
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
-msgstr "Il FORMATO è uno dei seguenti:"
+msgstr "FORMATO è uno dei seguenti:"
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
-msgstr "vecchio formato di tar V7"
+msgstr "Vecchio formato di tar V7"
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
-msgstr "formato GNU di tar <= 1.12"
+msgstr "Formato GNU di tar <= 1.12"
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
-msgstr "formato GNU di tar 1.13.x"
+msgstr "Formato GNU di tar 1.13.x"
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "Formato POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "Formato POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:577
-#, fuzzy
+#: src/tar.c:579
 msgid "same as pax"
 msgstr "Come pax"
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
-msgstr "come --format=v7"
+msgstr "Come --format=v7"
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
-msgstr "come --format=posix"
+msgstr "Come --format=posix"
 
-#: src/tar.c:584
-#, fuzzy
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
-msgstr "parolachiave[[:]=valore][,parolachiave[[:]=calore], ...]"
+msgstr "PAROLA_CHIAVE[[:]=VALORE][,PAROLA_CHIAVE[[:]=VALORE], ...]"
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
-msgstr "controlla le parole chiavi di pax"
+msgstr "Controlla le parole chiavi di pax"
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr "TESTO"
 
-#: src/tar.c:587
-#, fuzzy
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
-"crea l'archivio con il NOME di volume. Al momento dell'elencazione o "
-"dell'estrazione, usa il TESTO come modello di globbing"
+"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:592
-#, fuzzy
+#: src/tar.c:594
 msgid "Compression options:"
-msgstr "Conflitto tra le opzioni di compressione"
+msgstr "Opzioni di compressione:"
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
 msgstr ""
+"Usa il suffisso dell'archivio per determinare il programma di compressione"
 
-#: src/tar.c:596
+#: src/tar.c:598
+#, fuzzy
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+"Usa il suffisso dell'archivio per determinare il programma di compressione"
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
-msgstr "filtra l'archivio attraverso bzip2"
+msgstr "Filtra l'archivio attraverso bzip2"
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
-msgstr "filtra l'archivio attraverso gzip"
+msgstr "Filtra l'archivio attraverso gzip"
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
-msgstr "filtra l'archivio attraverso compress"
+msgstr "Filtra l'archivio attraverso compress"
 
-#: src/tar.c:605
-#, fuzzy
+#: src/tar.c:610
 msgid "filter the archive through lzma"
-msgstr "filtra l'archivio attraverso gzip"
+msgstr "Filtra l'archivio attraverso lzma"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "Filtra l'archivio attraverso gzip"
+
+#: src/tar.c:613
 msgid "PROG"
-msgstr "PROGRAMMA"
+msgstr "PROG"
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
-msgstr "filtra usando PROGRAMMA (deve accettare -d)"
+msgstr "Filtra attraverso PROG (deve accettare -d)"
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr "Selezione dei file locali:"
 
-#: src/tar.c:615
+#: src/tar.c:622
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
-msgstr ""
+msgstr "Aggiunge FILE all'archivio (utile se il nome inizia con un trattino)"
 
-#: src/tar.c:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr "DIR"
 
-#: src/tar.c:617
+#: src/tar.c:624
 msgid "change to directory DIR"
-msgstr "entra nella directory DIR"
+msgstr "Passa alla directory DIR"
 
-#: src/tar.c:619
-#, fuzzy
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
-msgstr "prende i nomi da estrarre o creare dal file NOME"
+msgstr "Prende i nomi da estrarre o creare dal file FILE"
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr "-T legge nomi terminati da NULL, disabilita -C"
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
+"Toglie i caratteri di citazione dai nomi dei file letti con -T (predefinito)"
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
-msgstr ""
+msgstr "Non toglie i caratteri di citazione dai nomi dei file letti con -T"
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "MODELLO"
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
-msgstr "escludi i file i cui nomi corrispondono al MODELLO"
+msgstr "Esclude i file i cui nomi corrispondono a MODELLO"
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
-msgstr "escludi i modelli elencati in FILE"
+msgstr "Esclude i modelli elencati in FILE"
 
-#: src/tar.c:631
-#, fuzzy
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
-msgstr "esclude le directory etichettate come cache"
+msgstr ""
+"Esclude i contenuti delle directory contenenti CACHEDIR.TAG, a parte il "
+"file .TAG stesso"
 
-#: src/tar.c:634
-#, fuzzy
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr "esclude le directory etichettate come cache"
+msgstr "Esclude tutto quanto all'interno di directory contenenti CACHEDIR.TAG"
 
-#: src/tar.c:637
-#, fuzzy
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
-msgstr "esclude le directory etichettate come cache"
+msgstr "Esclude le directory contenenti CACHEDIR.TAG"
 
-#: src/tar.c:639
-#, fuzzy
+#: src/tar.c:648
 msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr "esclude le directory etichettate come cache"
+msgstr ""
+"Esclude i contenuti delle directory contenenti FILE, a parte FILE stesso "
 
-#: src/tar.c:642
-#, fuzzy
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
-msgstr "esclude le directory etichettate come cache"
+msgstr "Esclude tutto quanto all'interno di directory contenenti FILE"
 
-#: src/tar.c:644
-#, fuzzy
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
-msgstr "esclude le directory etichettate come cache"
+msgstr "Esclude le directory contenenti FILE"
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
-msgstr ""
+msgstr "Esclude le directory dei sistemi di controllo della versione"
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
-msgstr "non entra automaticamente nelle directory"
+msgstr "Non entra automaticamente nelle directory"
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
-msgstr "resta nel file system locale durante la creazione dell'archivio"
+msgstr "Resta nel file system locale durante la creazione dell'archivio"
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
-msgstr "entra ricorsivamente nelle directory (predefinito)"
+msgstr "Entra ricorsivamente nelle directory (predefinito)"
 
-#: src/tar.c:654
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
-msgstr "non rimuove lo `/' iniziale dai nomi dei file"
+msgstr "Non rimuove le \"/\" iniziali dai nomi dei file"
 
-#: src/tar.c:656
+# (ndt) hmmm... non molto chiara...
+#: src/tar.c:665
 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:658
+#: src/tar.c:667
 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:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr "NOME"
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
-msgstr "comincia dal membro NOME nell'archivio"
+msgstr "Inizia dal membro NOME nell'archivio"
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
-msgstr "archivia solo i file più recenti di DATA-O-FILE"
+msgstr "Archivia solo i file più recenti di DATA-O-FILE"
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr "DATA"
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
-msgstr "confronta data e ora solo quando il contenuto è cambiato"
+msgstr "Confronta data e ora solo quando il contenuto è cambiato"
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr "CONTROLLO"
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
-msgstr "fa un backup prima di rimuovere, scegliendo il CONTROLLO di versione"
+msgstr "Esegue un backup prima di rimuovere, usando il CONTROLLO di versione"
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr "STRINGA"
 
-#: src/tar.c:669
-#, fuzzy
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
-"fa un backup prima di rimuovere, cambiando il solito suffisso '~' a meno che "
-"sia cambiato tramite la variabile di ambiente SIMPLE_BACKUP_SUFFIX"
+"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:674
+#: src/tar.c:683
 msgid "File name transformations:"
-msgstr ""
+msgstr "Trasformazioni dei nomi di file:"
 
-#: src/tar.c:676
-#, fuzzy
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
-msgstr "toglie NUMERO componenti iniziali dai nomi dei file"
+msgstr ""
+"Toglie NUMERO componenti iniziali dai nomi dei file durante l'estrazione"
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
-msgstr ""
+msgstr "ESPRESSIONE"
 
-#: src/tar.c:679
+#: src/tar.c:688
 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:684
+#: src/tar.c:694
 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:687
-#, fuzzy
+#: src/tar.c:697
 msgid "ignore case"
-msgstr "le esclusioni ignorano maiuscole/minuscole"
+msgstr "Non fa differenza tra maiuscole e minuscole"
 
-#: src/tar.c:689
-#, fuzzy
+#: src/tar.c:699
 msgid "patterns match file name start"
-msgstr "i modelli di esclusione corrispondono all'inizio del nome del file"
+msgstr "I modelli corrispondono all'inizio del nome del file"
 
-#: src/tar.c:691
-#, fuzzy
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
-msgstr "i modelli di esclusione vengono confrontati dopo ogni / (predefinito)"
+msgstr ""
+"I modelli corrispondono dopo ogni \"/\" (predefinito per le esclusioni)"
 
-#: src/tar.c:693
-#, fuzzy
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
-msgstr "le esclusioni considerano maiuscole/minuscole (predefinito)"
+msgstr "Considera diverse le maiuscole e le minuscole (predefinito)"
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
-msgstr ""
+msgstr "Utilizza i metacaratteri (predefinito per le esclusioni)"
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
-msgstr ""
+msgstr "Corrispondenza letterale della stringa"
 
-#: src/tar.c:699
-#, fuzzy
+#: src/tar.c:709
 msgid "wildcards do not match `/'"
-msgstr ""
-"i metacaratteri dei modelli di esclusione non possono corrispondere a `/'"
+msgstr "I metacaratteri non corrispondono \"/\""
 
-#: src/tar.c:701
-#, fuzzy
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
-msgstr ""
-"i metacaratteri dei modelli di esclusione possono corrispondere a "
-"`/' (predefinito)"
+msgstr "I metacaratteri corrispondono \"/\" (predefinito per le esclusioni)"
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr "Output informativo:"
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
-msgstr "elenca prolissamente i file processati"
+msgstr "Elenca prolissamente i file elaborati"
 
-#: src/tar.c:711
-#, fuzzy
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
-msgstr "mostra i progressi ogni 10 record"
+msgstr ""
+"Visualizza un messaggio di avanzamento ogni NUMERO-esimo record (predefinito "
+"10)"
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
-msgstr ""
+msgstr "AZIONE"
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
-msgstr ""
+msgstr "Esegue l'azione a ogni punto di controllo"
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
-msgstr "stampa un messaggio se non tutti i link sono archiviati"
+msgstr "Stampa un messaggio se non tutti i collegamenti sono archiviati"
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
-msgstr ""
+msgstr "SEGNALE"
 
-#: src/tar.c:719
+#: src/tar.c:729
 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 ""
+"Stampa i byte totali dopo l'elaborazione dell'archivio; con un argomento - "
+"stampa i byte totali quando viene inviato il SEGNALE. I segnali consentiti "
+"sono: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 e SIGUSR2; sono accettati anche i "
+"nomi senza il prefisso SIG"
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
-msgstr "stampa le date di modifica dei file in formato UTC"
+msgstr "Stampa le date di modifica dei file in formato UTC"
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
-msgstr "manda l'output verboso al FILE"
+msgstr "Invia l'output prolisso al FILE"
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
-msgstr "mostra il numero di blocco nell'archivio ad ogni messaggio"
+msgstr "Mostra il numero di blocco nell'archivio con ogni messaggio"
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
-msgstr "chiede conferma per ogni azione"
+msgstr "Chiede conferma per ogni azione"
 
-#: src/tar.c:733
-#, fuzzy
+#: src/tar.c:743
 msgid "show tar defaults"
-msgstr "Mostra le opzioni predefinite di tar"
+msgstr "Mostra le impostazioni predefinite di tar"
 
-#: src/tar.c:735
-#, fuzzy
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 "All'elencazione o all'estrazione, elenca ogni directory che non corrisponde "
-"ai criteri di ricerca."
+"al criterio di ricerca"
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
-msgstr ""
+msgstr "Mostra il nome del file o dell'archivio dopo la trasformazione"
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
-msgstr ""
+msgstr "STILE"
 
-#: src/tar.c:741
+#: src/tar.c:751
 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:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
-msgstr ""
+msgstr "Caratteri di citazione aggiuntivi da STRINGA"
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
-msgstr ""
+msgstr "Disabilita la citazione per i caratteri dalla STRINGA"
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
-msgstr "Opzioni di compabilità:"
+msgstr "Opzioni di compatibilità:"
 
-#: src/tar.c:753
-#, fuzzy
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
-"alla creazione, uguale a --old-archive. All'estrazione, uguale a --no-same-"
+"Alla creazione, uguale a --old-archive; all'estrazione, uguale a --no-same-"
 "owner"
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr "Altre opzioni:"
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
-msgstr ""
+msgstr "Disabilita l'uso di alcune opzioni potenzialmente dannose"
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
-msgstr "Impossibile indicare più di una delle opzioni `-Acdtrux'"
+msgstr "Non è possibile indicare più di un'opzione \"-Acdtrux\""
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Conflitto tra le opzioni di compressione"
 
-#: src/tar.c:965
-#, fuzzy, c-format
+#: src/tar.c:985
+#, c-format
 msgid "Unknown signal name: %s"
-msgstr " tipo di file sconosciuto %s\n"
+msgstr "Nome del segnale sconosciuto: %s"
 
-#: src/tar.c:989
-#, fuzzy
+#: src/tar.c:1009
 msgid "Date sample file not found"
-msgstr "File della data non trovato"
+msgstr "File campione della data non trovato"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
-msgstr "Sostituisco %s al posto del formato di data sconosciuto %s"
+msgstr "Sostituzione di %s al posto del formato di data sconosciuto %s"
 
-#: src/tar.c:1022
-#, fuzzy, c-format
+#: src/tar.c:1042
+#, c-format
 msgid "Option %s: Treating date `%s' as %s"
-msgstr "Tratto la data `%s' come %s + %ld nanosecondo"
+msgstr "Opzione %s: la data \"%s\" viene considerata come %s"
 
-#: src/tar.c:1096
-#, fuzzy, c-format
+#: src/tar.c:1119
+#, c-format
 msgid "%s: file list already read"
-msgstr "%s: il file è l'archivio; non archiviato"
+msgstr "%s: elenco file già letto"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
-msgstr ""
+msgstr "%s: il nome di file letto contiene un carattere NULL"
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
-msgstr ""
+msgstr "Argomenti validi per le opzioni --quoting-style sono:"
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 "\n"
-"*Questo* tar ha le seguenti opzioni predefinite:\n"
+"Questo tar ha le seguenti impostazioni predefinite:\n"
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
-msgstr "Blocking factor non valido"
+msgstr "Fattore del blocco non valido"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
-msgstr "Attenzione: l'opzione -I non è gestita; forse intendevi -j o -T?"
+msgstr ""
+"Attenzione: l'opzione -I non è supportata; forse si intendeva usare -j o -T?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Lunghezza del nastro non valida"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
-msgstr "Più di una data di soglia"
+msgstr "Più di una data di soglia"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
-msgstr ""
+msgstr "Valore versione sparsa non valido"
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
-msgstr ""
+msgstr "--atime-preserve=\"system\" non è supportato su questa piattaforma"
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
-msgstr ""
+msgstr "Il valore --checkpoint non è un intero"
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: gruppo non valido"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
-msgstr "Modo dell'opzione non valido"
+msgstr "Modo fornito sull'opzione non valido"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr "Numero non valido"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Proprietario non valido"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Dimensione del record non valida"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, 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:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr "Numero di elementi non valido"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
-msgstr ""
+msgstr "Consentita solo un'opzione --to-command"
 
-#: src/tar.c:1930
-#, fuzzy, c-format
+#: src/tar.c:1969
+#, c-format
 msgid "Malformed density argument: %s"
-msgstr "Argomento della densità malformato: '%s'"
+msgstr "Argomento densità non corretto: \"%s\""
 
-#: src/tar.c:1956
-#, fuzzy, c-format
+#: src/tar.c:1995
+#, c-format
 msgid "Unknown density: `%c'"
-msgstr "Densità sconosciuta: '%c'"
+msgstr "Densità sconosciuta: \"%c\""
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, c-format
 msgid "Options `-[0-7][lmh]' not supported by *this* tar"
-msgstr "Le opzioni `-[0-7][lmh]' non sono gestite da *questo* tar"
+msgstr "Le opzioni \"-[0-7][lmh]\" non sono gestite da questo tar"
 
-#: src/tar.c:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr "[FILE]..."
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
-msgstr "La vecchia opzione `%c' richiede un argomento."
+msgstr "La vecchia opzione \"%c\" richiede un argomento."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
-msgstr "--occurrence non ha senso senza una lista di file"
+msgstr "--occurrence non ha senso senza un elenco di file"
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
-msgstr "--occurrence non può essere usata nel modo di operazioni richiesto"
+msgstr "--occurrence non può essere usata nel modo di operazioni richiesto"
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 msgid "Multiple archive files require `-M' option"
-msgstr "Archivi multipli richiedono l'opzione `-M'"
+msgstr "Archivi multipli richiedono l'opzione \"-M\""
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "Impossibile combinare --listed-incremental e --newer"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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 è %lu byte)"
+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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
-msgstr "Impossibile verificare archivi multivolume"
+msgstr "Impossibile verificare archivi multi-volume"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Impossibile verificare archivi compressi"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
-msgstr "Impossibile usare archivi multivolume compressi"
+msgstr "Impossibile usare archivi multi-volume compressi"
 
-#: src/tar.c:2281
-#, fuzzy
+#: src/tar.c:2320
 msgid "Cannot concatenate compressed archives"
-msgstr "Impossibile aggiornare archivi compressi"
+msgstr "Impossibile concatenare archivi compressi"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
-msgstr "--pax-option può essere usata solo su archivi POSIX"
+msgstr "--pax-option può essere usata solo su archivi POSIX"
+
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
 
-#: src/tar.c:2318
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
-msgstr "Codardamente mi rifiuto di creare un archivio vuoto"
+msgstr "Rifiuto totale di creare un archivio vuoto"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
-msgstr "Le opzioni `-Aru' sono incompatibili con `-f -'"
+msgstr "Le opzioni \"-Aru\" sono incompatibili con \"-f -\""
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
-msgstr "Bisogna indicare una delle opzioni `-Acdtrux'"
+msgstr "È necessario specificare una delle opzioni \"-Acdtrux\""
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Uscita per errore ritardata dall'errore precedente"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, c-format
 msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
-msgstr[0] "%s: il file si è rimpicciolito di %s byte"
-msgstr[1] "%s: il file si è rimpicciolito di %s byte"
+msgstr[0] "%s: il file si è ridotto di %s byte"
+msgstr[1] "%s: il file si è ridotto di %s byte"
 
-#: src/xheader.c:158
-#, fuzzy, c-format
+#: src/xheader.c:156
+#, c-format
 msgid "Keyword %s is unknown or not yet implemented"
-msgstr "La parola chiave %s è sconosciuta o non ancora implementata"
+msgstr "La parola chiave %s è sconosciuta o non ancora implementata"
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
-msgstr "Il modello %s non può essere usato"
+msgstr "Il modello %s non può essere usato"
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
-msgstr "La parola chiave %s non può essere sostituita"
+msgstr "La parola chiave %s non può essere sostituita"
 
-#: src/xheader.c:498
-#, fuzzy
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
-msgstr "Intestazione estesa malformata: manca il segno di uguale"
+msgstr "Intestazione estesa malformata: manca la lunghezza"
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
-msgstr ""
+msgstr "La lunghezza intestazione estesa è fuori dall'intervallo consentito"
 
-#: src/xheader.c:513
-#, fuzzy, c-format
+#: src/xheader.c:511
+#, c-format
 msgid "Extended header length %*s is out of range"
-msgstr ""
-"La stringa base-64 con segno %s dell'archivio è fuori dall'intervallo %s"
+msgstr "La lunghezza dell'intestazione estesa %*s è fuori dall'intervallo"
 
-#: src/xheader.c:525
-#, fuzzy
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr "Intestazione estesa malformata: manca lo spazio dopo la lunghezza"
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr "Intestazione estesa malformata: manca il segno di uguale"
 
-#: src/xheader.c:539
-#, fuzzy
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
-msgstr "Intestazione estesa malformata: manca il segno di uguale"
+msgstr "Intestazione estesa malformata: manca un newline"
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
-msgstr ""
+msgstr "Parola chiave sconosciuta \"%s\" dell'intestazione estesa ignorata"
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
+"La coppia parola chiave/valore generata è troppo lunga (parola chiave=%s, "
+"lunghezza=%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:812
-#, fuzzy, c-format
+#: src/xheader.c:810
+#, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
-msgstr "Il valore %s dell'archivio è fuori dall'intervallo %s %s.%s"
+msgstr "L'intestazione estesa %s=%s è fuori dall'intervallo %s..%s"
 
-#: src/xheader.c:943 src/xheader.c:973 src/xheader.c:1287
-#, fuzzy, c-format
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
+#, c-format
 msgid "Malformed extended header: invalid %s=%s"
-msgstr "Intestazione estesa malformata: manca il segno di uguale"
+msgstr "Intestazione estesa malformata: %s=%s non valido"
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
-#, fuzzy, c-format
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
+#, c-format
 msgid "Malformed extended header: excess %s=%s"
-msgstr "Intestazione estesa malformata: manca il segno di uguale"
+msgstr "Intestazione estesa malformata: %s=%s in eccesso"
 
-#: src/xheader.c:1328
-#, fuzzy, c-format
+#: src/xheader.c:1326
+#, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
-msgstr "Intestazione estesa malformata: manca il segno di uguale"
+msgstr ""
+"Intestazione estesa malformata: %s non valido: delimitatore %c non atteso"
 
-#: src/xheader.c:1338
-#, fuzzy, c-format
+#: src/xheader.c:1336
+#, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
-msgstr "Intestazione estesa malformata: manca il segno di uguale"
+msgstr ""
+"Intestazione estesa malformata: %s non valido: numero dispari di valori"
 
 #: src/checkpoint.c:107
-#, fuzzy, c-format
+#, c-format
 msgid "%s: not a valid timeout"
-msgstr "%s: gruppo non valido"
+msgstr "%s: timeout non valido"
 
 #: src/checkpoint.c:112
 #, c-format
 msgid "%s: unknown checkpoint action"
-msgstr ""
+msgstr "%s: azione di punto di controllo sconosciuta"
 
 #: src/checkpoint.c:132
 msgid "write"
-msgstr ""
+msgstr "lettura"
 
 #: src/checkpoint.c:132
 msgid "read"
-msgstr ""
+msgstr "scrittura"
 
 #. TRANSLATORS: This is a ``checkpoint of write operation'',
 #. *not* ``Writing a checkpoint''.
 #. E.g. in Spanish ``Punto de comprobaci@'on de escritura'',
 #. *not* ``Escribiendo un punto de comprobaci@'on''
 #: src/checkpoint.c:222
-#, fuzzy, c-format
+#, c-format
 msgid "Write checkpoint %u"
-msgstr "Checkpoint di scrittura %d"
+msgstr "Punto di controllo di scrittura %u"
 
 #. TRANSLATORS: This is a ``checkpoint of read operation'',
 #. *not* ``Reading a checkpoint''.
 #. E.g. in Spanish ``Punto de comprobaci@'on de lectura'',
 #. *not* ``Leyendo un punto de comprobaci@'on''
 #: src/checkpoint.c:228
-#, fuzzy, c-format
+#, c-format
 msgid "Read checkpoint %u"
-msgstr "Checkpoint di lettura %d"
+msgstr "Punto di controllo di lettura %u"
 
 #: tests/genfile.c:111
-#, fuzzy
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
-msgstr "Genero i file di dati per la suite di test di GNU tar.\n"
+msgstr ""
+"genfile manipola i file per la suite GNU paxutils.\n"
+"Le opzioni sono:\n"
 
 #: tests/genfile.c:126
-#, fuzzy
 msgid "File creation options:"
-msgstr "Altre opzioni:"
+msgstr "Opzioni di creazione file:"
 
 #: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
-msgstr ""
+msgstr "DIMENSIONE"
 
 #: tests/genfile.c:128
-#, fuzzy
 msgid "Create file of the given SIZE"
-msgstr "crea gli archivi nel formato indicato."
+msgstr "Crea file della DIMENSIONE indicata"
 
 #: tests/genfile.c:130
-#, fuzzy
 msgid "Write to file NAME, instead of standard output"
-msgstr "estrae i file su standard output"
+msgstr "Scrive sul file NOME invece dello standard output"
 
 #: tests/genfile.c:132
-#, fuzzy
 msgid "Read file names from FILE"
-msgstr "Letti %s byte da %s"
+msgstr "Legge i nomi dei file da FILE"
 
 #: tests/genfile.c:134
-#, fuzzy
 msgid "-T reads null-terminated names"
-msgstr "-T legge nomi terminati da NULL, disabilita -C"
+msgstr "-T legge nomi terminati da NULL"
 
 #: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
 msgstr ""
+"Riempie il file con il MODELLO fornito. MODELLO è \"default\" o \"zeroes\""
 
 #: tests/genfile.c:139
 msgid "Size of a block for sparse file"
-msgstr ""
+msgstr "Dimensione del blocco per il file sparso"
 
 #: tests/genfile.c:141
 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:143
 msgid "OFFSET"
-msgstr ""
+msgstr "OFFSET"
 
 #: tests/genfile.c:144
-#, fuzzy
 msgid "Seek to the given offset before writing data"
-msgstr "prova a verificare l'archivio dopo averlo scritto"
+msgstr "Si posiziona all'OFFSET indicato prima di scrivere i dati"
 
 #: tests/genfile.c:150
 msgid "File statistics options:"
-msgstr ""
+msgstr "Opzioni per le statistiche:"
 
 #: tests/genfile.c:153
 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:160
 msgid "Synchronous execution options:"
-msgstr ""
+msgstr "Opzioni di esecuzione sincrona:"
 
 #: tests/genfile.c:163
 msgid ""
 "Execute given COMMAND. Useful with --checkpoint and one of --cut, --append, "
 "--touch"
 msgstr ""
+"Esegue il COMANDO dato. Utile con --checkpoint e uno tra --cut, --append, --"
+"touch"
 
 #: tests/genfile.c:166
 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:169
 msgid "Set date for next --touch option"
-msgstr ""
+msgstr "Imposta la data per l'opzione --touch successiva"
 
 #: tests/genfile.c:172
 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:177
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
+"Azioni di esecuzione sincrona. Queste sono eseguite quando viene raggiunto "
+"il punto di controllo fornito dall'opzione --checkpoint."
 
 #: tests/genfile.c:180
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
 msgstr ""
+"Tronca il FILE alla dimensione specificata dall'opzione --length precedente "
+"(0 se non viene fornita)"
 
 #: tests/genfile.c:184
 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:187
 msgid "Update the access and modification times of FILE"
-msgstr ""
+msgstr "Aggiorna l'orario di accesso e modifica del FILE"
 
 #: tests/genfile.c:190
-#, fuzzy
 msgid "Execute COMMAND"
-msgstr "COMANDO"
+msgstr "Esegue il COMANDO"
 
 #: tests/genfile.c:240
-#, fuzzy, c-format
+#, c-format
 msgid "Invalid size: %s"
-msgstr "Orario non valido"
+msgstr "Dimensione non valida: %s"
 
 #: tests/genfile.c:245
-#, fuzzy, c-format
+#, c-format
 msgid "Number out of allowed range: %s"
-msgstr "Numero dell'inode fuori dai limiti"
+msgstr "Numero fuori dall'intervallo consentito: %s"
 
 #: tests/genfile.c:248
 #, c-format
 msgid "Negative size: %s"
-msgstr ""
+msgstr "Dimensione negativa: %s"
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
+msgstr "stat(%s) non riuscita"
+
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
 msgstr ""
 
-#: tests/genfile.c:355
+#: tests/genfile.c:268
 #, c-format
-msgid "Error parsing number near `%s'"
+msgid "created file is not sparse"
 msgstr ""
 
-#: tests/genfile.c:361
-#, fuzzy, c-format
+# (ndt) ?
+#: tests/genfile.c:353
+#, c-format
+msgid "Error parsing number near `%s'"
+msgstr "Errore nell'analizzare il numero vicino a \"%s\""
+
+#: tests/genfile.c:359
+#, c-format
 msgid "Unknown date format"
-msgstr "Errore di sistema sconosciuto"
+msgstr "Formato data non conosciuto"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
-msgstr ""
+msgstr "[ARGOMENTI...]"
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
-msgstr ""
+msgstr "impossibile aprire \"%s\""
 
-#: tests/genfile.c:427
-#, fuzzy
+#: tests/genfile.c:425
 msgid "cannot seek"
-msgstr "Impossibile chiudere"
+msgstr "impossibile eseguire seek"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
-msgstr ""
+msgstr "il nome del file contiene caratteri NULL"
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
+"impossibile generare file sparsi sullo standard output, usare l'opzione --"
+"file"
 
-#: tests/genfile.c:587
+# (ndt) ?
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
-msgstr ""
+msgstr "maschera non corretta (vicino a \"%s\")"
 
-#: tests/genfile.c:593 tests/genfile.c:626
-#, fuzzy, c-format
+#: tests/genfile.c:591 tests/genfile.c:624
+#, c-format
 msgid "Unknown field `%s'"
-msgstr " tipo di file sconosciuto %s\n"
+msgstr "Campo \"%s\" sconosciuto"
 
-#: tests/genfile.c:653
-#, fuzzy, c-format
+#: tests/genfile.c:651
+#, c-format
 msgid "cannot set time on `%s'"
-msgstr "%s: impossibile fare seek a %s"
+msgstr "impossibile impostare l'orario su \"%s\""
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
-msgstr ""
+msgstr "Comando eseguito con successo\n"
 
-#: tests/genfile.c:809
-#, fuzzy, c-format
+#: tests/genfile.c:807
+#, c-format
 msgid "Command failed with status %d\n"
-msgstr "Il figlio è morto con il segnale %d"
+msgstr "Comando non riuscito con lo stato %d\n"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
-msgstr ""
+msgstr "Comando terminato al segnale %d\n"
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
-msgstr ""
+msgstr "Comando fermato al segnale %d\n"
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
-msgstr ""
+msgstr "Il comando ha fatto un dump del core\n"
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
-msgstr ""
+msgstr "Comando terminato\n"
 
-#: tests/genfile.c:853
-#, fuzzy, c-format
+#: tests/genfile.c:851
+#, c-format
 msgid "--stat requires file names"
-msgstr "--Nomi di file mutilati--\n"
+msgstr "--stat richiede i nomi dei file"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
-msgstr ""
-
-#~ msgid "block size"
-#~ msgstr "dimensione dei blocchi"
+msgstr "troppi argomenti"
 
-#~ msgid ""
-#~ "This program comes with NO WARRANTY, to the extent permitted by law.\n"
-#~ "You may redistribute it under the terms of the GNU General Public "
-#~ "License;\n"
-#~ "see the file named COPYING for details."
-#~ msgstr ""
-#~ "This program comes with NO WARRANTY, to the extent permitted by law.\n"
-#~ "You may redistribute it under the terms of the GNU General Public "
-#~ "License;\n"
-#~ "see the file named COPYING for details.\n"
-#~ "Questo programma NON HA GARANZIA, per quanto permesso dalla legge.\n"
-#~ "Può essere redistribuito secondo i termini della GNU General Public "
-#~ "License;\n"
-#~ "si veda il file chiamato COPYING per i dettagli."
-
-#~ msgid "rmtd: Garbage command %c\n"
-#~ msgstr "rmtd: comando spazzatura %c\n"
-
-#~ msgid "Quitting now."
-#~ msgstr "Abbandono adesso."
-
-#~ msgid "WARNING: No volume header"
-#~ msgstr "ATTENZIONE: intestazione del volume mancante"
-
-#~ msgid "Visible long name error"
-#~ msgstr "Errore nel nome lungo visibile"
-
-#~ msgid "Time stamp out of range"
-#~ msgstr "Orario fuori dai limiti"
-
-#~ msgid "Device number out of range"
-#~ msgstr "Numero di dispositivo fuori dai limiti"
-
-#~ msgid "Visible longname error"
-#~ msgstr "Errore nel nome lungo visibile"
-
-#~ msgid "Renamed %s to %s"
-#~ msgstr "%s rinominato in %s"
-
-#~ msgid "%s: Cannot symlink to %s"
-#~ msgstr "%s: impossibile fare il link simbolico a %s"
-
-#~ msgid "Symlinked %s to %s"
-#~ msgstr "Fatto il link simbolico %s a %s"
-
-#~ msgid "Unknown demangling command %s"
-#~ msgstr "Comando di demutilazione %s sconosciuto"
-
-#~ msgid "Missing file name after -C"
-#~ msgstr "Manca il nome del file dopo -C"
-
-#~ msgid "don't change access times on dumped files"
-#~ msgstr "non cambia l'orario di accesso dei file archiviati"
-
-#~ msgid "extract permissions information"
-#~ msgstr "estrae le informazioni sui permessi"
-
-#~ msgid "do not extract permissions information"
-#~ msgstr "non estrae le informazioni sui permessi"
-
-#~ msgid "FILE-OF-NAMES"
-#~ msgstr "NOMI-DI-FILE"
-
-#~ msgid "exclude patterns are plain strings"
-#~ msgstr "i modelli di esclusione sono stringhe normali"
-
-#~ msgid "dump instead the files symlinks point to"
-#~ msgstr "archivia i file a cui puntano i link simbolici"
-
-#~ msgid "same as -N"
-#~ msgstr "come -N"
-
-#~ msgid "exclude patterns use wildcards (default)"
-#~ msgstr "i modelli di esclusione usano metacaratteri (predefinito)"
-
-#~ msgid "print total bytes written while creating archive"
-#~ msgstr "stampa il numero totale di byte scritti creando l'archivio"
-
-#~ msgid "Print license and exit"
-#~ msgstr "Mostra la licenza ed esce"
-
-#~ msgid ""
-#~ "Based on the work of John Gilmore and Jay Fenlason. See AUTHORS\n"
-#~ "for complete list of authors.\n"
-#~ msgstr ""
-#~ "Basato sul lavoro di John Gilmore e Jay Fenlason. Si veda il file "
-#~ "AUTHORS\n"
-#~ "per l'elenco completo degli autori.\n"
-
-#~ msgid ""
-#~ "   GNU tar is free software; you can redistribute it and/or modify\n"
-#~ "   it under the terms of the GNU General Public License as published by\n"
-#~ "   the Free Software Foundation; either version 2 of the License, or\n"
-#~ "   (at your option) any later version.\n"
-#~ "\n"
-#~ "   GNU tar is distributed in the hope that it will be useful,\n"
-#~ "   but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-#~ "   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-#~ "   GNU General Public License for more details.\n"
-#~ "\n"
-#~ "   You should have received a copy of the GNU General Public License\n"
-#~ "   along with GNU tar; if not, write to the Free Software\n"
-#~ "   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  "
-#~ "USA\n"
-#~ "\n"
-#~ msgstr ""
-#~ "   GNU tar is free software; you can redistribute it and/or modify\n"
-#~ "   it under the terms of the GNU General Public License as published by\n"
-#~ "   the Free Software Foundation; either version 2 of the License, or\n"
-#~ "   (at your option) any later version.\n"
-#~ "\n"
-#~ "   GNU tar is distributed in the hope that it will be useful,\n"
-#~ "   but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
-#~ "   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
-#~ "   GNU General Public License for more details.\n"
-#~ "\n"
-#~ "   GNU tar è software libero; potete redistribuirlo e/o modificarlo\n"
-#~ "   secondo i termini della GNU General Public License come pubblicata\n"
-#~ "   dalla Free Software Foundation; la versione 2 della Licenza o\n"
-#~ "   (a vostra scelta) ogni versione successiva.\n"
-#~ "\n"
-#~ "   GNU tar è distribuito nella speranza che possa essere utile,\n"
-#~ "   ma SENZA ALCUNA GARANZIA; anche senza la garanzia implicita di\n"
-#~ "   COMMERCIABILITÀ o di IDONEITÀ AD UNO SCOPO PARTICOLARE.\n"
-#~ "   Si consulti la GNU General Public License per ulteriori dettagli.\n"
-#~ "\n"
-#~ "   Dovreste avere ricevuto una copia della GNU General Public License\n"
-#~ "   con GNU tar; altrimenti scrivete alla Free Software Foundation, Inc.,\n"
-#~ "   59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.\n"
-#~ "\n"
-
-#~ msgid "Semantics of -l option will change in the future releases."
-#~ msgstr "La sintassi dell'opzione -l cambierà nelle versioni future."
-
-#~ msgid "Please use --one-file-system option instead."
-#~ msgstr "Per favore si usi invece l'opzione --one-file-system."
-
-#~ msgid "Warning: the -y option is not supported; perhaps you meant -j?"
-#~ msgstr "Attenzione: l'opzione -y non è gestita; forse intendevi -j?"
-
-#~ msgid "Error in writing to standard output"
-#~ msgstr "Errore scrivendo sullo standard output"
-
-#~ msgid "Cannot dup"
-#~ msgstr "impossibile usare dup"
-
-#~ msgid "Cannot use compressed or remote archives"
-#~ msgstr "Impossibile usare archivi compressi o remoti"
-
-#~ msgid "tar (child)"
-#~ msgstr "tar (figlio)"
-
-#~ msgid "tar (grandchild)"
-#~ msgstr "tar (nipote)"
-
-#~ msgid "Child returned status %d"
-#~ msgstr "Il figlio ha restituito lo status %d"
-
-#~ msgid "Member names contain `..'"
-#~ msgstr "I nomi dei membri contengono `..'"
-
-#~ msgid "%s: Member name contains `..'"
-#~ msgstr "%s: I nomi dei membri contengono `..'"
-
-#~ 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' salva molti file insieme in un solo archivio su nastro o su "
-#~ "disco\n"
-#~ "e può ripristinare singoli file dall'archivio.\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"
-#~ "Se una opzione lunga indica un argomento come obbligatorio, allora lo è "
-#~ "anche\n"
-#~ "per l'opzione corta equivalente.  Lo stesso vale per gli argomenti "
-#~ "opzionali.\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"
-#~ "Modi operativi principali:\n"
-#~ "  -t, --list              elenca il contenuto dell'archivio\n"
-#~ "  -x, --extract, --get    estrae i file da un archivio\n"
-#~ "  -c, --create            crea un nuovo archivio\n"
-#~ "  -d, --diff, --compare   cerca differenze tra l'archivio e il file "
-#~ "system\n"
-#~ "  -r, --append            accoda i file alla fine di un archivio\n"
-#~ "  -u, --update            accoda solo i file più nuovi della copia in "
-#~ "archivio\n"
-#~ "  -A, --catenate          aggiungi il contenuto di un altro archivio\n"
-#~ "      --concatenate       come -A\n"
-#~ "      --delete            cancella da un archivio (non su nastri "
-#~ "magnetici!)\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 replace existing files when "
-#~ "extracting\n"
-#~ "      --overwrite            overwrite existing files when extracting\n"
-#~ "      --overwrite-dir        overwrite directory metadata 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=FILE\n"
-#~ "                             handle new GNU-format incremental backup\n"
-#~ "      --ignore-failed-read   do not exit with nonzero on unreadable "
-#~ "files\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Modificatori delle operazioni:\n"
-#~ "  -W, --verify               prova a verificare l'archivio dopo averlo "
-#~ "scritto\n"
-#~ "      --remove-files         cancella i file dopo averli aggiunti "
-#~ "all'archivio\n"
-#~ "  -k, --keep-old-files       nell'estrazione non sovrascrive file "
-#~ "esistenti\n"
-#~ "      --overwrite            sovrascrive i file esistenti durante "
-#~ "l'estrazione\n"
-#~ "      --overwrite-dir        sovrascrive i metadati delle directory "
-#~ "durante\n"
-#~ "                             l'estrazione\n"
-#~ "  -U, --unlink-first         cancella ogni file prima di estrarre su di "
-#~ "esso\n"
-#~ "      --recursive-unlink     svuota le directory prima di estrarle\n"
-#~ "  -S, --sparse               gestisce efficientemente i file sparsi\n"
-#~ "  -O, --to-stdout            estrae i file su standard output\n"
-#~ "  -G, --incremental          gestisce i vecchi backup incrementali GNU\n"
-#~ "  -g, --listed-incremental=FILE   gestisce i nuovi backup incrementali "
-#~ "GNU\n"
-#~ "      --ignore-failed-read   non esce con non-zero con file illeggibili\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"
-#~ "      --no-same-owner          extract files as yourself\n"
-#~ "      --numeric-owner          always use numbers for user/group names\n"
-#~ "  -p, --same-permissions       extract permissions information\n"
-#~ "      --no-same-permissions    do not extract permissions 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"
-#~ "Gestione degli attributi dei file:\n"
-#~ "      --owner=NOME             forza NOME come proprietario dei file "
-#~ "aggiunti\n"
-#~ "      --group=NOME             forza NOME come gruppo dei file aggiunti\n"
-#~ "      --mode=CAMBI             forza il modo (simbolico) CAMBI per i "
-#~ "file\n"
-#~ "                               aggiunti\n"
-#~ "      --atime-preserve         non cambia il tempo di accesso dei file "
-#~ "archiv.\n"
-#~ "  -m, --modification-time      non estrae il tempo di ultima modifica del "
-#~ "file\n"
-#~ "      --same-owner         cerca di estrarre i file con lo stesso "
-#~ "proprietario\n"
-#~ "      --no-same-owner          estrare i file come te stesso\n"
-#~ "      --numeric-owner          usa sempre i numeri per i nomi di utente/"
-#~ "gruppo\n"
-#~ "  -p, --same-permissions       estrae tutti i permessi\n"
-#~ "      --no-same-permissions    non estrae le informazioni sui permessi\n"
-#~ "      --preserve-permissions   come -p\n"
-#~ "  -s, --same-order             ordina i nomi da estrarre come "
-#~ "nell'archivio\n"
-#~ "      --preserve-order         come -s\n"
-#~ "      --preserve               come -s e -p insieme\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"
-#~ "Selezione e cambio del dispositivo:\n"
-#~ "  -f, --file=ARCHIVIO            usa come archivio il file o il "
-#~ "dispositivo\n"
-#~ "                                 ARCHIVIO\n"
-#~ "      --force-local              l'archivio è locale anche se contiene "
-#~ "`:'\n"
-#~ "      --rsh-command=COMANDO      usa la shell remota COMANDO al posto di "
-#~ "rsh\n"
-#~ "  -[0-7][lmh]                    specifica il drive e la densità\n"
-#~ "  -M, --multi-volume             crea/elenca/estrai archivi multi-volume\n"
-#~ "  -L, --tape-length=NUM          cambia nastro dopo aver scritto NUMx1024 "
-#~ "byte\n"
-#~ "  -F, --info-script=FILE         esegui lo script FILE alla file di ogni "
-#~ "nastro\n"
-#~ "                                 (implica -M)\n"
-#~ "      --new-volume-script=FILE   come -F FILE\n"
-#~ "      --volno-file=FILE          usa/aggiorna il numero del volume in "
-#~ "FILE\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"
-#~ "Blocking dei dispositivi:\n"
-#~ "  -b, --blocking-factor=BLOCCHI  usa record di BLOCCHI x 512 byte\n"
-#~ "      --record-size=SIZE         usa record di SIZE bytes, multiplo di "
-#~ "512\n"
-#~ "  -i, --ignore-zeros             ignora blocchi azzerati nel archivio\n"
-#~ "                                 (significa EOF)\n"
-#~ "  -B, --read-full-records        reblock in lettura (per le pipe di "
-#~ "4.2BSD)\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 format archive\n"
-#~ "  -j, --bzip2                        filter the archive through bzip2\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"
-#~ "Selezione formato di archiviazione:\n"
-#~ "  -V, --label=NOME                   crea un archivio con nome di volume "
-#~ "NOME\n"
-#~ "              MODELLO                durante l'elencazione/estrazione, "
-#~ "MODELLO\n"
-#~ "                                     è un globbing pattern\n"
-#~ "  -o, --old-archive, --portability   scrive un archivio in formato V7\n"
-#~ "      --posix                        scrive un archivio in formato POSIX\n"
-#~ "  -j, --bzip2,                       filtra l'archivio attraverso bzip2\n"
-#~ "  -z, --gzip, --ungzip               filtra l'archivio attraverso gzip\n"
-#~ "  -Z, --compress, --uncompress       filtra l'archivio attraverso "
-#~ "compress\n"
-#~ "      --use-compress-program=PROG    filtra usando PROG (deve accettare -"
-#~ "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 PATTERN\n"
-#~ "  -X, --exclude-from=FILE      exclude patterns listed in FILE\n"
-#~ "      --anchored               exclude patterns match file name start "
-#~ "(default)\n"
-#~ "      --no-anchored            exclude patterns match after any /\n"
-#~ "      --ignore-case            exclusion ignores case\n"
-#~ "      --no-ignore-case         exclusion is case sensitive (default)\n"
-#~ "      --wildcards              exclude patterns use wildcards (default)\n"
-#~ "      --no-wildcards           exclude patterns are plain strings\n"
-#~ "      --wildcards-match-slash  exclude pattern wildcards match "
-#~ "'/' (default)\n"
-#~ "      --no-wildcards-match-slash exclude pattern wildcards do not match "
-#~ "'/'\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"
-#~ "Selezione dei file locali:\n"
-#~ "  -C, --directory=DIR        si sposta nella directory DIR\n"
-#~ "  -T, --files-from=NOME      prende i nomi da estrarre o creare dal file "
-#~ "NOME\n"
-#~ "      --null                 -T legge nomi terminati da null, disabilita -"
-#~ "C\n"
-#~ "      --exclude=MODELLO      esclude i file i cui nomi soddisfano il "
-#~ "MODELLO\n"
-#~ "  -X, --exclude-from=FILE    esclude i modelli elencati nel file FILE\n"
-#~ "      --anchored             i modelli di esclusione vengono confrontati "
-#~ "con\n"
-#~ "                             l'inizio del nome del file (predefinito)\n"
-#~ "      --no-anchored     i modelli di esclusione vengono confrontati dopo "
-#~ "ogni /\n"
-#~ "      --ignore-case          le esclusioni ignorano maiuscole/minuscole\n"
-#~ "      --no-ignore-case       le esclusioni considerano le maiuscole "
-#~ "(predef.)\n"
-#~ "      --wildcards         i modelli di esclusione usano i metacaratteri "
-#~ "(pred.)\n"
-#~ "      --no-wildcards         i modelli di esclusione sono stringhe "
-#~ "normali\n"
-#~ "      --wildcards-match-slash i metacaratteri possono corrispondere a / "
-#~ "(pred.)\n"
-#~ "      --no-wildcards-match-slash i metacaratteri non possono "
-#~ "corrispondere a /\n"
-#~ "  -P, --absolute-names       non rimuove lo '/' iniziale dai nomi dei "
-#~ "file\n"
-#~ "  -h, --dereference          archivia il file a cui punta il symlink\n"
-#~ "      --no-recursion         non attraversa automaticamente le directory\n"
-#~ "  -l, --one-file-system      resta nel file system locale durante la "
-#~ "creazione\n"
-#~ "  -K, --starting-file=NOME   comincia dal file NOME nell'archivio\n"
-
-#~ msgid ""
-#~ "  -N, --newer=DATE             only store files newer than DATE\n"
-#~ "      --newer-mtime=DATE       compare date and time when data changed "
-#~ "only\n"
-#~ "      --after-date=DATE        same as -N\n"
-#~ msgstr ""
-#~ "  -N, --newer=DATA           archivia solo i file più recenti di DATA\n"
-#~ "      --newer-mtime=DATA     confronta data e ora solo quando il "
-#~ "contenuto è\n"
-#~ "                             cambiato\n"
-#~ "      --after-date=DATE      come -N\n"
-
-#~ msgid ""
-#~ "      --backup[=CONTROL]       backup before removal, choose version "
-#~ "control\n"
-#~ "      --suffix=SUFFIX          backup before removal, override usual "
-#~ "suffix\n"
-#~ msgstr ""
-#~ "      --backup[=CONTROLLO]     backup prima di rimuovere, scegli il\n"
-#~ "                               controllo di versione\n"
-#~ "      --suffix=SUFFSSO         backup prima di rimuovere, cambia "
-#~ "suffisso\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"
-#~ "Output informativo:\n"
-#~ "      --help            mostra questo aiuto ed esce\n"
-#~ "      --version         mostra le informazioni sulla versione ed esce\n"
-#~ "  -v, --verbose         elenca prolissamente i files gestiti\n"
-#~ "      --checkpoint      leggendo l'archivio stampa i nomi delle "
-#~ "directory\n"
-#~ "      --totals          stampa i byte scritti in totale creando "
-#~ "l'archivio\n"
-#~ "  -R, --block-number    mostra il numero di blocco nell'archivio con "
-#~ "ogni\n"
-#~ "                        messaggio\n"
-#~ "  -w, --interactive     chiede conferma per ogni azione\n"
-#~ "      --confirmation    come -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; DATE may be a textual "
-#~ "date\n"
-#~ "or a file name starting with `/' or `.', in which case the file's date is "
-#~ "used.\n"
-#~ "*This* `tar' defaults to `-f%s -b%d'.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "GNU tar non può leggere nè produrre archivi `--posix'.  Se nell'ambiente "
-#~ "è\n"
-#~ "impostato POSIXLY_CORRECT, `--posix' vieta le estensioni GNU.\n"
-#~ "La gestione degli archivi POSIX è implementata solo parzialmente, non\n"
-#~ "contateci ancora. L'ARCHIVIO può essere un FILE, HOST:FILE oppure\n"
-#~ "UTENTE@HOST:FILE; il FILE può essere un file o un dispositivo.\n"
-#~ "*Questo* `tar' ha come opzioni predefinite `-f%s -b%d'.\n"
-
-#~ msgid "Obsolete option, now implied by --blocking-factor"
-#~ msgstr "Opzione obsoleta, adesso implicata da --blocking-factor"
-
-#~ msgid "Obsolete option name replaced by --blocking-factor"
-#~ msgstr "Nome di opzione obsoleto sostituito da --blocking-factor"
-
-#~ msgid "Obsolete option name replaced by --read-full-records"
-#~ msgstr "Nome di opzione obsoleto sostituito da --read-full-records"
-
-#~ msgid "Obsolete option name replaced by --touch"
-#~ msgstr "Nome di opzione obsoleto sostituito da --touch"
-
-#~ msgid "Obsolete option name replaced by --absolute-names"
-#~ msgstr "Nome di opzione obsoleto sostituito da --absolute-names"
-
-#~ msgid "Obsolete option name replaced by --block-number"
-#~ msgstr "Nome di opzione obsoleto sostituito da --block-number"
-
-#~ msgid "Obsolete option name replaced by --backup"
-#~ msgstr "Nome di opzione obsoleto sostituito da --backup"
-
-#~ msgid "Written by John Gilmore and Jay Fenlason."
-#~ msgstr "Scritto da John Gilmore e Jay Fenlason."
-
-#~ 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 ""
-#~ "Gli argomenti che sono obbligatori per le opzioni lunghe lo sono anche "
-#~ "per\n"
-#~ "le opzioni corte equivalenti.\n"
-#~ "\n"
-#~ "  -l, --file-length=LENGTH  lunghezza del file generato\n"
-#~ "  -p, --pattern=MODELLO     MODELLO è `default' o `zeros'\n"
-#~ "      --help                mostra questo aiuto ed esce\n"
-#~ "      --version             mostra le informazioni sulla versione ed "
-#~ "esce\n"
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Uscita per errore ritardata dall'errore precedente"
index 7ac2a382f50b0993edc02a47e2c35853f31772af..9a8b215bc4684284cd67dee37188e20668ec2731 100644 (file)
Binary files a/po/ja.gmo and b/po/ja.gmo differ
index d4b089486947bf82115787e9dc600730f8f71f64..9a523c42a9b9cfa465ef83c252a7db8c4431843f 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -9,7 +9,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GNU tar 1.19.90\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
 "PO-Revision-Date: 2008-02-09 09:10+0900\n"
 "Last-Translator: Masahito Yamaga <ma@yama-ga.com>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@@ -83,7 +83,7 @@ msgstr " [
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr "¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ï `%s --help' ¤Þ¤¿¤Ï `%s --usage' ¤Ç.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "¥Ð¥°¥ì¥Ý¡¼¥È¤Ï %s ¤Þ¤Ç.\n"
@@ -92,15 +92,15 @@ msgstr "
 msgid "Unknown system error"
 msgstr "ÉÔÌÀ¤Ê¥·¥¹¥Æ¥à¥¨¥é¡¼"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr "¤³¤Î¥Ø¥ë¥×°ìÍ÷¤òɽ¼¨"
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr "û¤¤»ÈÍÑË¡¥á¥Ã¥»¡¼¥¸¤òɽ¼¨"
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr "NAME"
@@ -113,11 +113,11 @@ msgstr "
 msgid "SECS"
 msgstr "SECS"
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr "SECS ÉÃÄä»ß (ɸ½à 3600)"
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr "¥×¥í¥°¥é¥à¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨"
 
@@ -135,7 +135,7 @@ msgstr "%s: 
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(¥×¥í¥°¥é¥à¥¨¥é¡¼) ¥ª¥×¥·¥ç¥óǧ¼±ÉÔǽ!?"
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr "½ñ¤­¹þ¤ß¥¨¥é¡¼"
 
@@ -194,16 +194,16 @@ msgstr "%s: 
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: ¥ª¥×¥·¥ç¥ó `-W %s' ¤Ë¤Ï°ú¿ô¤Ï¤¢¤ê¤Þ¤»¤ó\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "¥á¥â¥ê¤ò»È¤¤ÀÚ¤ê¤Þ¤·¤¿"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, c-format
 msgid "unable to record current working directory"
 msgstr "¸½ºß¤Î¥ï¡¼¥¯¥Ç¥£¥ì¥¯¥È¥ê¤òµ­Ï¿¤Ç¤­¤Þ¤»¤ó"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "½é´ü¥ï¡¼¥¯¥Ç¥£¥ì¥¯¥È¥ê¤ËÌá¤ë¤Î¤Ë¼ºÇÔ¤·¤Þ¤·¤¿"
@@ -322,11 +322,23 @@ msgstr "`"
 msgid "'"
 msgstr "'"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr "^[yY]"
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr "^[nN]"
 
@@ -554,103 +566,103 @@ msgstr "
 msgid "Garbage command"
 msgstr "ÉÔÍפʥ³¥Þ¥ó¥É"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "¤³¤ì¤Ï tar ¥¢¡¼¥«¥¤¥Ö¤Ç¤Ï¤Ê¤¤¤è¤¦¤Ç¤¹"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 msgid "Total bytes written"
 msgstr "Áí½ñ¤­½Ð¤·¥Ð¥¤¥È¿ô"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr "ÁíÆɤ߹þ¤ß¥Ð¥¤¥È¿ô"
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Áíºï½ü¥Ð¥¤¥È¿ô: %s\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(¥Ñ¥¤¥×)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "record_size ¤¬Ìµ¸ú¤ÊÃͤǤ¹"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "¥¢¡¼¥«¥¤¥Ö̾¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "ɸ½àÆþ½ÐÎϤΥ¢¡¼¥«¥¤¥Ö¤Ï¸¡¾Ú¤Ç¤­¤Þ¤»¤ó"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤Ï°µ½Ì¤µ¤ì¤Æ¤¤¤Þ¤¹. %s ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤"
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "°µ½Ì¤µ¤ì¤¿¥¢¡¼¥«¥¤¥Ö¤Ï¥¢¥Ã¥×¥Ç¡¼¥È¤Ç¤­¤Þ¤»¤ó"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "¥Æ¡¼¥×¤ÎÀèƬ¤Ç¤¹. ½èÍý¤òÃæ»ß¤·¤Þ¤¹"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "¥¨¥é¡¼¤¬Â¿¤¹¤®¤Þ¤¹. ½èÍý¤òÃæ»ß¤·¤Þ¤¹"
 
-#: src/buffer.c:678
-#, 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:698
+#: src/buffer.c:695
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "µ­Ï¿¥µ¥¤¥º = %lu ¥Ö¥í¥Ã¥¯"
 msgstr[1] "µ­Ï¿¥µ¥¤¥º = %lu ¥Ö¥í¥Ã¥¯"
 
-#: src/buffer.c:771
+#: src/buffer.c:716
+#, 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:793
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 "¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤ò¸å¤íÊý¸þ¤ËÌ᤻¤Þ¤»¤ó. -i ¤Ê¤·¤Ç¤ÏÆɤá¤Ê¤¤¤«¤âÃΤì¤Þ¤»¤ó."
 
-#: src/buffer.c:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek ¤òµ­Ï¿¤Î¶­³¦¤Ç»ß¤á¤Þ¤»¤ó"
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: Ìµ¸ú¤Ê¥Ü¥ê¥å¡¼¥àÈÖ¹æ¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "¥Ü¥ê¥å¡¼¥àÈֹ椬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "¥Ü¥ê¥å¡¼¥à #%d (%s) ¤ò½àÈ÷¤·¤Þ¤¹. ¥ê¥¿¡¼¥ó¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤: "
 
-#: src/buffer.c:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "¥æ¡¼¥¶¤¬±þÅú¤¹¤ë EOF ¤¬É¬ÍפȤʤê¤Þ¤¹"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "·Ù¹ð: ¥¢¡¼¥«¥¤¥Ö¤¬ÉÔ´°Á´¤Ç¤¹"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -662,66 +674,67 @@ msgstr ""
 " q             tar ¤ò½ªÎ»\n"
 " y ¤Þ¤¿¤Ï²þ¹Ô  Áàºî¤ò·Ñ³\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             ¥µ¥Ö¥·¥§¥ë¤òµ¯Æ°\n"
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             ¤³¤Î¥ê¥¹¥È¤òɽ¼¨\n"
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "¿·¤·¤¤¥Ü¥ê¥å¡¼¥à¤¬¤¢¤ê¤Þ¤»¤ó. ½ªÎ»¤·¤Þ¤¹.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr "¥Õ¥¡¥¤¥ë̾¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó. ¤â¤¦°ìÅÙ.\n"
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "ÉÔÀµ¤ÊÆþÎÏ. ? ¤Ç¥Ø¥ë¥×¤òɽ¼¨\n"
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, c-format
 msgid "%s command failed"
 msgstr "%s ¥³¥Þ¥ó¥É¤¬¼ºÇÔ¤·¤Þ¤·¤¿"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s ¤Ï¤³¤Î¥Ü¥ê¥å¡¼¥à¾å¤Ç¤ª¤½¤é¤¯Ï¢Â³¤·¤Æ¤¤¤Þ¤¹: ¥Ø¥Ã¥À¤Ï¾Êά¤µ¤ì¤¿Ì¾Á°¤ò´Þ¤ó¤Ç"
 "¤¤¤Þ¤¹"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s ¤Ï¤³¤Î¥Ü¥ê¥å¡¼¥à¾å¤ÇϢ³¤·¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s ¤ÏÉÔÀµ¤Ê¥µ¥¤¥º¤Ç¤¹ (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "¤³¤Î¥Ü¥ê¥å¡¼¥à¤ÏϢ³¤·¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤Ï %s ¤Ë°ìÃפ¹¤ë¥é¥Ù¥ë¤¬ÉÕ¤¤¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "¥Ü¥ê¥å¡¼¥à %s ¤Ï %s ¤Ë°ìÃפ·¤Þ¤»¤ó"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -729,6 +742,11 @@ msgstr ""
 "%s: ¥Õ¥¡¥¤¥ë̾¤¬Ä¹²á¤®¤Æ GNU ¥Þ¥ë¥Á¥Ü¥ê¥å¡¼¥à¥Ø¥Ã¥À¤ËÊݸ¤Ç¤­¤Ê¤¤¤Î¤ÇÀÚ¤ê¼Î¤Æ"
 "¤Þ¤¹"
 
+#: src/buffer.c:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "rmtlseek ¤òµ­Ï¿¤Î¶­³¦¤Ç»ß¤á¤Þ¤»¤ó"
+
 #: src/compare.c:96
 #, c-format
 msgid "Could only read %lu of %lu byte"
@@ -740,8 +758,8 @@ msgstr[1] "%lu 
 msgid "Contents differ"
 msgstr "ÆâÍƤ¬°Û¤Ê¤ê¤Þ¤¹"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "¥¢¡¼¥«¥¤¥ÖÃæ¤Ëͽ´ü¤»¤Ì EOF ¤¬¤¢¤ê¤Þ¤¹"
 
@@ -858,7 +876,7 @@ msgstr[1] "%s: %s 
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: ¥Õ¥¡¥¤¥ë¤Ï°Û¤Ê¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¾å¤Ë¤¢¤ë¤Î¤Ç¥À¥ó¥×¤·¤Þ¤»¤ó"
 
-#: src/create.c:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr "ÆâÍƤò¥À¥ó¥×¤·¤Þ¤»¤ó"
 
@@ -887,7 +905,7 @@ msgstr "%s: 
 msgid "%s: File removed before we read it"
 msgstr "%s: Æɤ߹þ¤ß°ÊÁ°¤Ëºï½ü¤µ¤ì¤Þ¤·¤¿"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ò¥À¥ó¥×¤·¤Þ¤»¤ó"
 
@@ -938,165 +956,165 @@ msgstr "%s: 
 msgid "Extracting contiguous files as regular files"
 msgstr "Ϣ³¤·¤¿¥Õ¥¡¥¤¥ë¤òÀµ¾ï¤Ê¥Õ¥¡¥¤¥ë¤È¤·¤Æ¼è¤ê½Ð¤·¤Þ¤¹"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò¥Ï¡¼¥É¥ê¥ó¥¯¤È¤·¤Æ¼è¤ê½Ð¤·¤Æ¤ß¤Þ¤¹"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "%s ¤òÆɤ߹þ¤ßÃæ¤Ç¤¹\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: ¼è¤ê½Ð¤»¤Þ¤»¤ó -- ¥Õ¥¡¥¤¥ë¤ÏÊ̤Υܥê¥å¡¼¥à¤«¤é³¤¤¤Æ¤¤¤Þ¤¹"
 
-#: src/extract.c:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 msgid "Unexpected long name header"
 msgstr "ͽ´ü¤»¤ÌŤ¤Ì¾Á°¥Ø¥Ã¥À"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
 msgstr "%s: Ì¤ÃΤΥե¡¥¤¥ë¥¿¥¤¥× '%c', Ä̾ï¥Õ¥¡¥¤¥ë¤È¤·¤ÆÃê½Ð"
 
-#: src/extract.c:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "¸½ºß¤Î %s ¤ÎÊý¤¬¿·¤·¤¤¤«Æ±¤¸"
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: ¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s ¤Î̾Á°¤ò %s ¤ËÊѹ¹¤Ç¤­¤Þ¤»¤ó"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "¥¨¥é¡¼¤ò²óÉü¤Ç¤­¤Þ¤»¤ó: Ä¾¤Á¤Ë½ªÎ»¤·¤Þ¤¹"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê̾¤¬ %s ¤«¤éÊѹ¹¤µ¤ì¤Þ¤·¤¿"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê̾¤¬Êѹ¹¤µ¤ì¤Þ¤·¤¿"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê¤Ï¿·¤·¤¯ºî¤é¤ì¤Þ¤·¤¿"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "̵¸ú¤Ê¥¿¥¤¥à¥¹¥¿¥ó¥×"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 msgid "Invalid modification time (seconds)"
 msgstr "ÉÔÀµ¤ÊºÇ½ª¹¹¿·»þ¹ï (ÉÃ)"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr "ÉÔÀµ¤ÊºÇ½ª¹¹¿·»þ¹ï (¥Ê¥ÎÉÃ)"
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "̵¸ú¤Ê¥Ç¥Ð¥¤¥¹ÈÖ¹æ¤Ç¤¹"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "̵¸ú¤Ê inode ÈÖ¹æ"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr "¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¥Õ¥¡¥¤¥ë¤ÎÆɤ߹þ¤ßÃæ¤Ë¥Õ¥£¡¼¥ë¥É¤¬Ä¹²á¤®¤Þ¤¹"
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr "¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¥Õ¥¡¥¤¥ë¤ËÆɤ߹þ¤ß¥¨¥é¡¼"
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 msgid "Unexpected EOF in snapshot file"
 msgstr "¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¥Õ¥¡¥¤¥ë¤Ëͽ´ü¤»¤Ì EOF"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr "¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È¥Õ¥¡¥¤¥ë¤Ëͽ´ü¤»¤Ì¥Õ¥£¡¼¥ë¥ÉÃÍ"
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr "½ªÃ¼µ­Ï¿¤Ê¤·"
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr "ÉÔÀµ¤ÊÁýʬ¥Õ¥¡¥¤¥ë·Á¼°"
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "̤¼ÂÁõ¤ÎÁýʬ·Á¼°¥Ð¡¼¥¸¥ç¥ó: %<PRIuMAX>"
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: '%c' ¤¬¤¢¤ë¤Ù¤­¤È¤³¤í¤Ë %#3o"
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: 'X' ¤¬½ÅÊ£"
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: 'R' ¤Ë¶õ¤Î̾Á°"
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: 'T' ¤¬ 'R' ¤ÎÁ°¤Ë¤Ê¤¤"
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: 'T' ¤Ë¶õ¤Î̾Á°"
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: '%c' ¤¬¤¢¤ë¤Ù¤­¤È¤³¤í¤Ë¥Ç¡¼¥¿¤Î½ªÃ¼"
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "ÉÔÀµ·Á¼°¤Î dumpdir: 'X' ¤¬Ì¤»ÈÍÑ"
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "¥Æ¥ó¥×¥ì¡¼¥È %s ¤ò»È¤Ã¤Æ°ì¼¡¥Ç¥£¥ì¥¯¥È¥ê¤òºî¤ì¤Þ¤»¤ó"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê¤òºï½ü¤·¤Þ¤»¤ó: ¾õÂÖ¤¬Ê¬¤«¤ê¤Þ¤»¤ó"
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: ¥Ç¥£¥ì¥¯¥È¥ê¤Ï°Û¤Ê¤ë¥Ç¥Ð¥¤¥¹¾å¤Ë¤¢¤ë¤Î¤Ç¾Ãµî¤·¤Þ¤»¤ó"
 
-#: src/incremen.c:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: %s ¤òºï½ü\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: ºï½ü¤Ç¤­¤Þ¤»¤ó"
@@ -1116,86 +1134,86 @@ msgstr "
 msgid "block %s: ** End of File **\n"
 msgstr "¥Ö¥í¥Ã¥¯ %s: ** ¥Õ¥¡¥¤¥ë¤Î½ªÃ¼ **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "¥Ö¥í¥Ã¥¯ %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, 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:728
+#: src/list.c:737
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "8 ¿Ê¿ôÃÍ %.*s ¤Ï %s ¤ÎÈϰϳ°¤Ç¤¹"
 
-#: src/list.c:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤ËÇѤ줿 base-64 ¥Ø¥Ã¥À¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹"
 
-#: src/list.c:763
+#: src/list.c:772
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Éä¹æÉÕ¤­ base-64 Ê¸»úÎó %s ¤Ï %s ¤ÎÈϰϳ°¤Ç¤¹"
 
-#: src/list.c:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤ÎÃÍ %s ¤Ï %s ¤ÎÈÏ°Ï %s..%s Æâ¤Ë¤¢¤ê¤Þ¤»¤ó"
 
-#: src/list.c:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " %s ¤Ø¤Î¥ê¥ó¥¯\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " ÉÔÌÀ¤Ê¥Õ¥¡¥¤¥ë¥¿¥¤¥× %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Ť¤¥ê¥ó¥¯--\n"
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Ť¤Ì¾Á°--\n"
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--¥Ü¥ê¥å¡¼¥à¥Ø¥Ã¥À--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--¥Ð¥¤¥È %s ¤ÇϢ³--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®:"
 
@@ -1232,24 +1250,24 @@ msgstr "
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr "¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤Îʸ»ú¤¬¥Õ¥¡¥¤¥ë̾¤Ë»È¤ï¤ì¤Æ¤¤¤Þ¤¹."
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr "--wildcards ¤Ç¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤òÍ­¸ú¤Ë, ¤Þ¤¿ --no-wildcards ¤Ç"
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr "¤³¤Î·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤."
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: ¥¢¡¼¥«¥¤¥ÖÆâ¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó"
 
-#: src/names.c:621
+#: src/names.c:615
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: ¥¢¡¼¥«¥¤¥ÖÆâ¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó"
@@ -1274,7 +1292,7 @@ msgid ""
 "Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
 msgstr "ÉÔÌÀ¤Ê°úÍÑ·Á¼° `%s', `%s --quoting-style=help' ¤Ç°ìÍ÷ɽ¼¨."
 
-#: src/tar.c:334
+#: src/tar.c:336
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1293,7 +1311,7 @@ msgstr ""
 "  tar -tvf archive.tar         # archive.tar Æâ¤ÎÁ´¥Õ¥¡¥¤¥ë¤ò¾Ü¤·¤¯°ìÍ÷ɽ¼¨\n"
 "  tar -xf archive.tar          # archive.tar ¤«¤éÁ´¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤¹\n"
 
-#: src/tar.c:343
+#: src/tar.c:345
 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 "
@@ -1314,86 +1332,86 @@ msgstr ""
 "                  ¤½¤¦¤Ç¤Ê¤±¤ì¤Ðñ¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤ë\n"
 "  never, simple   ¾ï¤Ëñ½ã¤Ê¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼è¤ë\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr "¼çÁàºî¥â¡¼¥É:"
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤ÎÆâÍƤò°ìÍ÷ɽ¼¨"
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤«¤é¥Õ¥¡¥¤¥ë¤òÃê½Ð"
 
-#: src/tar.c:377
+#: src/tar.c:379
 msgid "create a new archive"
 msgstr "¿·¤·¤¤¥¢¡¼¥«¥¤¥Ö¤òºîÀ®"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤È¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤È¤Î°ã¤¤¤ò¸«ÉÕ¤±¤ë"
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤ÎËöÈø¤Ë¥Õ¥¡¥¤¥ë¤òÄɲÃ"
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr "¥¢¡¼¥«¥¤¥ÖÆâ¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤è¤ê¿·¤·¤¤¥Õ¥¡¥¤¥ë¤Î¤ß¤òÄɲÃ"
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤Ë tar ¥Õ¥¡¥¤¥ë¤òÄɲÃ"
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤«¤éºï½ü (¼§µ¤¥Æ¡¼¥×¾å¤Ç¤Ï¥À¥á!)"
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤Î¥Ü¥ê¥å¡¼¥à¥é¥Ù¥ë¤ò¥Æ¥¹¥È¤·¤Æ½ªÎ»"
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr "Áàºî¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ëÉղõ¡Ç½:"
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr "¤Þ¤Ð¤é¤Ë¸ºß¤¹¤ë¥Õ¥¡¥¤¥ë¤ò¸ú²ÌŪ¤Ë½èÍý"
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr "MAJOR[.MINOR]"
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr "¤Þ¤Ð¤é (sparse) ·Á¼°¤Î¥Ð¡¼¥¸¥ç¥ó¤òÀßÄê (--sparse ¤Î°ÕÌ£¤ò´Þ¤à)"
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr "¸Å¤¤ GNU ·Á¼°¤Î¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò½èÍý"
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr "FILE"
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr "¿·¤·¤¤ GNU ·Á¼°¤Î¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò½èÍý"
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr "Æɤ߹þ¤á¤Ê¤¤¥Õ¥¡¥¤¥ë¾å¤ËÈó¥¼¥í¤Î¾õÂ֤Ǹºß¤·¤Þ¤»¤ó"
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr "NUMBER"
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1405,116 +1423,116 @@ msgstr ""
 "¥Õ¥¡¥¤¥ë°ìÍ÷¤¬¥³¥Þ¥ó¥É¥é¥¤¥ó¤« -T ¥ª¥×¥·¥ç¥ó·Ðͳ¤Î¤É¤Á¤é¤«¤Ç»ØÄꤵ¤ì¤¿¾ì¹ç¤Î"
 "¤ßÍ­¸ú. NUMBER ¤Ïɸ½à¤Ç 1."
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤Ï¸¡º÷²Äǽ"
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr "À©¸æ¤ò¾å½ñ¤­:"
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤ò½ñ¤­½Ð¤·¤¿¸å¤Ë¸¡¾Ú"
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr "¥Õ¥¡¥¤¥ë¤ò¥¢¡¼¥«¥¤¥Ö¤Ë²Ã¤¨¤¿¸å¤Çºï½ü"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr "¼è¤ê½Ð¤¹ºÝ¤Ë´û¸¤Î¥Õ¥¡¥¤¥ë¤òÃÖ¤­´¹¤¨¤Ê¤¤"
 
-#: src/tar.c:435
+#: src/tar.c:437
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr "¥¢¡¼¥«¥¤¥Ö¥³¥Ô¡¼¤è¤ê¿·¤·¤¤´û¸¥Õ¥¡¥¤¥ë¤òÃÖ¤­´¹¤¨¤Ê¤¤"
 
-#: src/tar.c:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr "¼è¤ê½Ð¤¹ºÝ¤Ë´û¸¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­"
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr "³Æ¡¹¤Î¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤·¤Æ¾å½ñ¤­¤¹¤ëÁ°¤Ëºï½ü"
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ò¼è¤ê½Ð¤¹Á°¤Ë³¬Áؤò¶õ¤Ë"
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr "´û¸¥Ç¥£¥ì¥¯¥È¥ê¤Î¥á¥¿¥Ç¡¼¥¿¤òÊݸ"
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr "¼è¤ê½Ð¤¹ºÝ¤Ë´û¸¥Ç¥£¥ì¥¯¥È¥ê¤Î¥á¥¿¥Ç¡¼¥¿¤ò¾å½ñ¤­ (ɸ½à)"
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr "½ÐÎÏ¥¹¥È¥ê¡¼¥à¤òÁªÂò"
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
 msgstr "¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤·¤Æɸ½à½ÐÎϤ˽ÐÎÏ"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr "COMMAND"
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr "¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤·¤ÆÊÌ¤Î¥×¥í¥°¥é¥à¤Ë½ÐÎÏ"
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr "»Ò¥×¥í¥»¥¹¤Î½ªÎ»¥³¡¼¥É¤ò̵»ë"
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr "»Ò¥×¥í¥»¥¹¤ÎÈó¥¼¥í½ªÎ»¥³¡¼¥É¤ò¥¨¥é¡¼¤È¤·¤Æ½èÍý"
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr "¥Õ¥¡¥¤¥ë°À­¤Î½èÍý"
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr "²Ã¤¨¤¿¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô¤ò NAME ¤ËÊѹ¹"
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr "²Ã¤¨¤¿¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤ò NAME ¤ËÊѹ¹"
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr "DATE-OR-FILE"
 
-#: src/tar.c:472
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "DATE-OR-FILE ¤«¤éÄɲåե¡¥¤¥ë¤Î mtime ¤òÀßÄê"
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr "CHANGES"
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "²Ã¤¨¤¿¥Õ¥¡¥¤¥ë¤Î (¥·¥ó¥Ü¥ê¥Ã¥¯) ¥â¡¼¥É¤ò CHANGES ¤ËÊѹ¹"
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr "METHOD"
 
-#: src/tar.c:477
+#: src/tar.c:479
 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 "
@@ -1523,181 +1541,181 @@ msgstr ""
 "ºÇ½ª¥¢¥¯¥»¥¹»þ¹ï¤ò, Æɤ߹þ¤ß¸å¤ËÉü¸µ¤¹¤ë (METHOD='replace'; É¸½à) ¤«ºÇ½é¤ËÀß"
 "Äꤷ¤Ê¤¤ (METHOD='system') ¤«¤Î¤É¤Á¤é¤«¤ÎÊýË¡¤Ç¥À¥ó¥×¥Õ¥¡¥¤¥ë¾å¤Ç°Ý»ý"
 
-#: src/tar.c:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr "¥Õ¥¡¥¤¥ë¤Î¹¹¿·»þ¹ï¤ò¼è¤ê½Ð¤µ¤Ê¤¤"
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr "Ʊ¤¸½êÍ­¼Ô¤Î¤Þ¤Þ¤Ç¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤·¤Æ¤ß¤ë"
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr "¤¢¤Ê¤¿¼«¿È¤Î¥Õ¥¡¥¤¥ë¤È¤·¤Æ¼è¤ê½Ð¤¹"
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr "¥æ¡¼¥¶Ì¾/¥°¥ë¡¼¥×̾¤È¤·¤Æ¾ï¤Ë¿ô»ú¤ò»È¤¦"
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr "¥Õ¥¡¥¤¥ë°À­¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òÃê½Ð (superuser ¤Ç¤Ïɸ½à)"
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 "¥¢¡¼¥«¥¤¥Ö¤«¤é°À­¤òÃê½Ð¤¹¤ëºÝ¤Ë¥æ¡¼¥¶¤Î umask ¤òŬÍÑ (°ìÈ̥桼¥¶¤Ç¤Ïɸ½à)"
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr "¥¢¡¼¥«¥¤¥Ö¤È¥Þ¥Ã¥Á¤µ¤»¤ë¤¿¤á¤Ë¼è¤ê½Ð¤¹Ì¾Á°¤òʤÓÂؤ¨"
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr "-p ¤È -s ¤ÎξÊý¤ò»ØÄꤷ¤¿¤â¤Î¤ÈƱ¤¸"
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 "Ãê½Ð¤¬½ªÎ»¤¹¤ë¤Þ¤ÇÃê½Ð¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ÎºÇ½ª¹¹¿·»þ¹ï¤È°À­¤ÎÀßÄê¤òÃ٤餻¤ë"
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "--delay-directory-restore ¥ª¥×¥·¥ç¥ó¤Î¸ú²Ì¤ò¼è¤ê¾Ã¤·"
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr "¥Ç¥Ð¥¤¥¹¤ÎÁªÂò¤ÈÀÚÂØ:"
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr "ARCHIVE"
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr "¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥Ð¥¤¥¹ ARCHIVE ¤ò»ÈÍÑ"
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
 msgstr "¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Ï¥³¥í¥ó¤ò´Þ¤ó¤Ç¤¤¤Æ¤â¥í¡¼¥«¥ë"
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "»ØÄꤵ¤ì¤¿ rmt COMMAND ¤ò rmt ¤ÎÂå¤ï¤ê¤Ë»ÈÍÑ"
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr "rsh ¤ÎÂå¤ï¤ê¤Ë COMMAND ¤ò»ÈÍÑ"
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr "¥É¥é¥¤¥Ö¤ÈÌ©ÅÙ¤ò»ØÄê"
 
-#: src/tar.c:535
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
 msgstr "¥Þ¥ë¥Á¥Ü¥ê¥å¡¼¥à¤Î¥¢¡¼¥«¥¤¥Ö¤òºîÀ®/°ìÍ÷/Ãê½Ð"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "NUMBER x 1024 ¥Ð¥¤¥È¤ò½ñ¤­½Ð¤·¤¿¸å¤Ç¥Æ¡¼¥×¤òÊѹ¹"
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr "³Æ¡¹¤Î¥Æ¡¼¥×¤ÎºÇ¸å¤Ç¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô (-M É¬¿Ü)"
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr "FILE Ãæ¤Î¥Ü¥ê¥å¡¼¥àÈÖ¹æ¤ò»ÈÍÑ/¹¹¿·"
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr "¥Ç¥Ð¥¤¥¹¥Ö¥í¥Ã¥­¥ó¥°:"
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr "BLOCKS"
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr "¥ì¥³¡¼¥É¤¢¤¿¤ê BLOCKS x 512 ¥Ð¥¤¥È"
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "¥ì¥³¡¼¥É¤¢¤¿¤ê NUMBER ¥Ð¥¤¥È. 512 ¤ÎÇÜ¿ô"
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "¥¢¡¼¥«¥¤¥ÖÃæ¤Î¥¼¥í¥Ö¥í¥Ã¥¯ (¤Ä¤Þ¤ê EOF) ¤ò̵»ë"
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "Æɤ߽Ф·¤¿¤è¤¦¤ËºÆ¥Ö¥í¥Ã¥¯ (4.2BSD ¥Ñ¥¤¥×ÍÑ)"
 
-#: src/tar.c:561
+#: src/tar.c:563
 msgid "Archive format selection:"
 msgstr "¥¢¡¼¥«¥¤¥Ö·Á¼°¤ÎÁªÂò"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr "»ØÄꤵ¤ì¤¿·Á¼°¤Î¥¢¡¼¥«¥¤¥Ö¤òºîÀ®"
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr "FORMAT ¤Ï¼¡¤Î¤¦¤Á¤Î 1¤Ä:"
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr "¸Å¤¤ V7 tar ·Á¼°"
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr "GNU tar 1.12 °ÊÁ°¤Î·Á¼°"
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr "GNU tar 1.13.x ·Á¼°"
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "POSIX 1003.1-1988 (ustar) ·Á¼°"
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "POSIX 1003.1-2001 (pax) ·Á¼°"
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr "pax ¤ÈƱ¤¸"
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr "--format=v7 ¤ÈƱ¤¸"
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr "--format=posix ¤ÈƱ¤¸"
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "keyword[[:]=value][,keyword[[:]=value]]..."
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr "pax ¥­¡¼¥ï¡¼¥É¤òÀ©¸æ"
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr "TEXT"
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1705,171 +1723,185 @@ msgstr ""
 "¥Ü¥ê¥å¡¼¥à̾ TEXT ¤Î¥¢¡¼¥«¥¤¥Ö¤òºîÀ®. °ìÍ÷/Ãê½Ð»þ¤Ë TEXT ¤ò¥Ü¥ê¥å¡¼¥à̾¤ËÂФ¹"
 "¤ëÃê½Ð¥Ñ¥¿¡¼¥ó¤Ë»ÈÍÑ"
 
-#: src/tar.c:592
+#: src/tar.c:594
 msgid "Compression options:"
 msgstr "°µ½Ì¥ª¥×¥·¥ç¥ó:"
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
 msgstr "°µ½Ì¥×¥í¥°¥é¥à¤ò·è¤á¤ë¤Î¤Ë¥¢¡¼¥«¥¤¥ÖÀÜÈø¼­¤ò»ÈÍÑ"
 
-#: src/tar.c:596
+#: src/tar.c:598
+#, fuzzy
+msgid "do not use use archive suffix to determine the compression program"
+msgstr "°µ½Ì¥×¥í¥°¥é¥à¤ò·è¤á¤ë¤Î¤Ë¥¢¡¼¥«¥¤¥ÖÀÜÈø¼­¤ò»ÈÍÑ"
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr "bzip2 ·Ðͳ¤Ç¥¢¡¼¥«¥¤¥Ö¤ò¥Õ¥£¥ë¥¿"
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr "gzip ·Ðͳ¤Ç¥¢¡¼¥«¥¤¥Ö¤ò¥Õ¥£¥ë¥¿"
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr "compress ·Ðͳ¤Ç¥¢¡¼¥«¥¤¥Ö¤ò¥Õ¥£¥ë¥¿"
 
-#: src/tar.c:605
+#: src/tar.c:610
 msgid "filter the archive through lzma"
 msgstr "lzma ·Ðͳ¤Ç¥¢¡¼¥«¥¤¥Ö¤ò¥Õ¥£¥ë¥¿"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "gzip ·Ðͳ¤Ç¥¢¡¼¥«¥¤¥Ö¤ò¥Õ¥£¥ë¥¿"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr "PROG"
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr "PROG ·Ðͳ¤Ç¥Õ¥£¥ë¥¿ (-d ¤ò¼õ¤±ÉÕ¤±¤ëɬÍפ¢¤ê)"
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr "¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ëÁªÂò:"
 
-#: src/tar.c:615
+#: src/tar.c:622
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 "»ØÄꤵ¤ì¤¿ FILE ¤ò¥¢¡¼¥«¥¤¥Ö¤ËÄɲà(¥À¥Ã¥·¥å ' ¤Ç»Ï¤Þ¤ë¥Õ¥¡¥¤¥ë̾¤Î¾ì¹ç¤ËÊØ"
 "Íø)"
 
-#: src/tar.c:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr "DIR"
 
-#: src/tar.c:617
+#: src/tar.c:624
 msgid "change to directory DIR"
 msgstr "¥Ç¥£¥ì¥¯¥È¥ê DIR ¤Ø°ÜÆ°"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr "Ãê½Ð¤Þ¤¿¤ÏºîÀ®¤¹¤ë̾Á°¤ò¥Õ¥¡¥¤¥ë FILE ¤«¤é¼èÆÀ"
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr "-T ¤¬ null ¤Ç½ª¤ï¤ë̾Á°¤òÆɤ߹þ¤ß, -C ¤ò̵¸ú¤Ë"
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr "-T ¤ÇÆɤ߹þ¤ó¤À¥Õ¥¡¥¤¥ë̾¤ò°úÍѽªÎ»¤¹¤ë (ɸ½à)"
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr "-T ¤ÇÆɤ߹þ¤ó¤¿¥Õ¥¡¥¤¥ë̾¤ò°úÍѽªÎ»¤·¤Ê¤¤"
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "PATTERN"
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr "PATTERN ¤Ë°ìÃפ¹¤ë¥Õ¥¡¥¤¥ë¤ò½ü³°"
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr "FILE ¤ËÎóµó¤µ¤ì¤¿¥Ñ¥¿¡¼¥ó¤ò½ü³°"
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr "¥¿¥°¥Õ¥¡¥¤¥ë¼«¿È¤ò½ü¤¯ CACHEDIR.TAG ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÆâÍƤò½ü³°"
 
-#: src/tar.c:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "CACHEDIR.TAG ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤ÎÁ´¤Æ¤ò½ü³°"
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "CACHEDIR.TAG ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°"
 
-#: src/tar.c:639
+#: src/tar.c:648
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr "FILE ¼«¿È¤ò½ü¤¯ FILE ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ÎÆâÍƤò½ü³°"
 
-#: src/tar.c:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
 msgstr "FILE ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤ÎÁ´¤Æ¤ò½ü³°"
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr "FILE ¤ò´Þ¤à¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°"
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr "¥Ð¡¼¥¸¥ç¥ó´ÉÍý¥·¥¹¥Æ¥à¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò½ü³°"
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ò¼«Æ°Åª¤Ë²¼¤Ã¤Æ¤¤¤«¤Ê¤¤"
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr "¥¢¡¼¥«¥¤¥ÖºîÀ®»þ¤Ë¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¸ÂÄê"
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr "¥Ç¥£¥ì¥¯¥È¥ê¤ò½ç·«¤ê¤Ë²¼¤Ã¤Æ¤¤¤¯ (default)"
 
-#: src/tar.c:654
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
 msgstr "¥Õ¥¡¥¤¥ë̾¤«¤éÀèƬ¤Î `/' ¤ò¼è¤ê½ü¤«¤Ê¤¤"
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò¤¿¤É¤ë; ¤½¤ì¤é¤¬»Ø¤¹¥Õ¥¡¥¤¥ë¤ò¥¢¡¼¥«¥¤¥Ö¤·¤Æ¥À¥ó¥×"
 
-#: src/tar.c:658
+#: src/tar.c:667
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "¥Ï¡¼¥É¥ê¥ó¥¯¤ò¤¿¤É¤ë; ¤½¤ì¤é¤¬»Ø¤¹¥Õ¥¡¥¤¥ë¤ò¥¢¡¼¥«¥¤¥Ö¤·¤Æ¥À¥ó¥×"
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr "MEMBER-NAME"
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr "¥¢¡¼¥«¥¤¥ÖÃæ¤Î¥á¥ó¥Ð¡¼ MEMBER-NAME ¤Ç³«»Ï"
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "DATE-OR-FILE ¤è¤ë¿·¤·¤¤¥Õ¥¡¥¤¥ë¤Î¤ß¤ò³ÊǼ"
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr "DATE"
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr "¥Ç¡¼¥¿¤¬Êѹ¹¤µ¤ì¤¿»þ¤À¤±ÆüÉÕ¤ª¤è¤Ó»þ¹ï¤òÈæ³Ó"
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr "CONTROL"
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr "ºï½üÁ°¤Ë¥Ð¡¼¥¸¥ç¥ó´ÉÍý¤ò CONTROL ¤Ë¤·¤Æ¥Ð¥Ã¥¯¥¢¥Ã¥×"
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr "STRING"
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -1877,87 +1909,87 @@ msgstr ""
 "ºï½üÁ°¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×, Ä̾ï¤ÎÀÜÈø¼­ (´Ä¶­ÊÑ¿ô SIMPLE_BACKUP_SUFFIX ¤¬Ì¤ÀßÄê¤Ê"
 "¤é '~') ¤ò¾å½ñ¤­"
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr "¥Õ¥¡¥¤¥ë̾ÊÑ´¹:"
 
-#: src/tar.c:676
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "Ãê½Ð»þ¤Ë¥Õ¥¡¥¤¥ë̾¤«¤éÀèƬ¤Î NUMER ¸Ä¤Î¥³¥ó¥Ý¥Í¥ó¥È¤ò½üµî"
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr "EXPRESSION"
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "¥Õ¥¡¥¤¥ë̾¤ÎÊÑ´¹¤Ë sed ¤ÎÃÖ´¹ EXPRESSION ¤ò»ÈÍÑ"
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr "¥Õ¥¡¥¤¥ë̾°ìÃ×¥ª¥×¥·¥ç¥ó (½ü³°/Êñ´Þ¤Îξ¥Ñ¥¿¡¼¥ó¤ËºîÍÑ):"
 
-#: src/tar.c:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr "Âçʸ»ú¾®Ê¸»ú¤ò̵»ë"
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr "¥Õ¥¡¥¤¥ë̾¤ÎÀèƬ¤È¥Ñ¥¿¡¼¥ó¤¬°ìÃ×"
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr "Ǥ°Õ¤Î `/' °Ê¹ß¤Ë¥Ñ¥¿¡¼¥ó¤¬°ìÃ× (ɸ½à¤Ç½ü³°)"
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr "Âçʸ»ú¾®Ê¸»ú¤ò¹Íθ¤·¤Æ°ìÃ× (ɸ½à)"
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr "¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»ÈÍÑ (ɸ½à¤Ç½ü³°)"
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr "Ãà¸ìŪʸ»úÎó°ìÃ×"
 
-#: src/tar.c:699
+#: src/tar.c:709
 msgid "wildcards do not match `/'"
 msgstr "¥ï¥¤¥ë¥É¥«¡¼¥É¤¬ `/' ¤Ë°ìÃפ·¤Ê¤¤"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr "¥ï¥¤¥ë¥É¥«¡¼¥É¤¬ `/' ¤Ë°ìÃ× (ɸ½à¤Ç½ü³°)"
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr "¾ðÊó:"
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr "½èÍý¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î°ìÍ÷¤ò¾éŤËɽ¼¨"
 
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "NUMBER (ɸ½à 10) ÈÖÌܤε­Ï¿¤´¤È¤Ë¿ÊĽ¥á¥Ã¥»¡¼¥¸¤òɽ¼¨"
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr "ACTION"
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr "³Æ¸¡Ìä¤Ç ACTION ¤ò¼Â¹Ô"
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr "Á´¤Æ¤Î¥ê¥ó¥¯¤¬¥À¥ó¥×¤µ¤ì¤Ê¤¤¾ì¹ç¥á¥Ã¥»¡¼¥¸¤òɽ¼¨"
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr "SIGNAL"
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1968,112 +2000,112 @@ msgstr ""
 "»þ¤ËÁí¥Ð¥¤¥È¿ô¤òɽ¼¨. µö²Ä¤µ¤ì¤¿ SIGNAL ¤Ï: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 "
 "¤ª¤è¤Ó SIGUSR2. SIG ÀÜƬ¼­¤¬¤Ê¤¤Ì¾Á°¤Ç¤â²Ä"
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr "¥Õ¥¡¥¤¥ë¤Î¹¹¿·ÆüÉÕ¤ò UTC ¤Çɽ¼¨"
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr "¾éĹ½ÐÎϤò FILE ¤ËÁ÷¿®"
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr "¥¢¡¼¥«¥¤¥ÖÆâ¤Î¥Ö¥í¥Ã¥¯¿ô¤ò³Æ¡¹¥á¥Ã¥»¡¼¥¸ÉÕ¤­¤Çɽ¼¨"
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr "Á´¤Æ¤ÎÆ°ºî¤ò³Îǧ"
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr "tar ¤Îµ¬ÄêÃͤòɽ¼¨"
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr "°ìÍ÷¤äÃê½Ð»þ¤Ë, ¸¡º÷´ð½à¤Ë°ìÃפ·¤Ê¤¤¥Ç¥£¥ì¥¯¥È¥ê¤ò³Æ¡¹°ìÍ÷ɽ¼¨"
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr "ÊÖ´Ô¸å¤Ë¥Õ¥¡¥¤¥ë̾¤Þ¤¿¤Ï¥¢¡¼¥«¥¤¥Ö̾¤òɽ¼¨"
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr "STYLE"
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "̾Á°°úÍÑ·Á¼°¤òÀßÄê. Í­¸ú¤Ê STYLE Ãͤϲ¼µ­»²¾È."
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr "¹¹¤Ë STRING ¤«¤éʸ»ú¤ò°úÍÑ"
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr "STRING ¤«¤é¤Îʸ»ú°úÍѤò̵¸ú¤Ë"
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr "¸ß´¹¥ª¥×¥·¥ç¥ó:"
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr "ºîÀ®»þ¤Ï --old-archive ¤ÈƱ¤¸. Ãê½Ð»þ¤Ï --no-same-owner ¤ÈƱ¤¸"
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr "¤½¤Î¾¥ª¥×¥·¥ç¥ó:"
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr "ÀøºßŪ¤Ë³²¤Ë¤Ê¤ë¥ª¥×¥·¥ç¥ó¤Î»ÈÍѤò̵¸ú¤Ë"
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "`-Acdtrux' ¥ª¥×¥·¥ç¥ó¤Î¤¦¤Á 2¤Ä°Ê¾å»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó."
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "°µ½Ì¥ª¥×¥·¥ç¥ó¤¬¿©¤¤°ã¤Ã¤Æ¤¤¤Þ¤¹"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "̤ÃΤΥ·¥°¥Ê¥ë̾: %s"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 msgid "Date sample file not found"
 msgstr "ÆüÉÕ¥µ¥ó¥×¥ë¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "̤ÃΤÎÆüÉÕ¥Õ¥©¡¼¥Þ¥Ã¥È¤Î %2$s Âå¤ï¤ê¤Ë %1$s ¤È¤·¤Þ¤¹"
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr "¥ª¥×¥·¥ç¥ó %s: `%s' ¤ò %s ¤È¤·¤Æ°·¤¦"
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, c-format
 msgid "%s: file list already read"
 msgstr "%s: ¥Õ¥¡¥¤¥ë°ìÍ÷¤Ï´û¤ËÆɤ߹þ¤ßºÑ¤ß"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: Æɤ߹þ¤Þ¤ì¤¿¥Õ¥¡¥¤¥ë̾¤Ë¥Ì¥ëʸ»ú"
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr "--quoting-style ¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ëÍ­¸ú¤Ê°ú¿ô¤Ï:"
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2081,151 +2113,165 @@ msgstr ""
 "\n"
 "¡Ö¤³¤Î¡×tar ¤Îµ¬ÄêÃÍ:\n"
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "̵¸ú¤Ê¥Ö¥í¥Ã¥­¥ó¥°°ø»Ò"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr "·Ù¹ð: -I ¥ª¥×¥·¥ç¥ó¤Ï¼õ¤±Æþ¤ì¤é¤ì¤Þ¤»¤ó -- Â¿Ê¬ -j ¤« -T ¤Ê¤Î¤Ç¤Ï?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "̵¸ú¤Ê¥Æ¡¼¥×¤ÎŤµ"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "1¤Ä°Ê¾å¤ÎÉßµï¤È¤Ê¤ëÆüÉÕ"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr "̵¸ú¤Ê¤Þ¤Ð¤é (sparse) ¥Ð¡¼¥¸¥ç¥óÃÍ"
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' ¤Ï¤³¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint ÃͤÏÀ°¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: Ìµ¸ú¤Ê¥°¥ë¡¼¥×"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤵ¤ì¤¿¥â¡¼¥É¤Ï̵¸ú¤Ç¤¹"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr "̵¸ú¤Ê¿ô"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "̵¸ú¤Ê½êÍ­¼Ô"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "̵¸ú¤Êµ­Ï¿¥µ¥¤¥º"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "µ­Ï¿¥µ¥¤¥º¤Ï %d ¤ÎÇÜ¿ô¤Ç¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó"
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr "̵¸ú¤Ê¥¨¥ì¥á¥ó¥È¿ô"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr "--to-command ¥ª¥×¥·¥ç¥ó¤Ï 1¤Ä¤À¤±µö²Ä"
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "ÉÔÀµ·Á¼°¤ÎÌ©ÅÙ°ú¿ô: %s"
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
 msgstr "̤ÃΤÎÌ©ÅÙ: `%c'"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, c-format
 msgid "Options `-[0-7][lmh]' not supported by *this* tar"
 msgstr "¥ª¥×¥·¥ç¥ó `-[0-7][lmh]' ¤Ï¡Ö¤³¤Î¡×tar ¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/tar.c:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr "[¥Õ¥¡¥¤¥ë]..."
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "¸Å¤¤¥ª¥×¥·¥ç¥ó `%c' ¤Ï°ú¿ô¤òɬÍפȤ·¤Þ¤¹"
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence ¤Ï¥Õ¥¡¥¤¥ë°ìÍ÷¤¬¤Ê¤±¤ì¤Ð̵°ÕÌ£"
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr "--occurrence ¤ÏÍ׵ᤵ¤ì¤¿Áàºî¥â¡¼¥É¤Ç¤Ï»È¤¨¤Þ¤»¤ó"
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 msgid "Multiple archive files require `-M' option"
 msgstr "ʬ³ä·¿¤Î¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Ë¤Ï `-M' ¥ª¥×¥·¥ç¥ó¤¬É¬ÍפǤ¹"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "--listed-incremental ¤È --newer ¤È¤ò·ë¹ç¤Ç¤­¤Þ¤»¤ó"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "¥Þ¥ë¥Á¥Ü¥ê¥å¡¼¥à¥¢¡¼¥«¥¤¥Ö¤ò³Îǧ¤Ç¤­¤Þ¤»¤ó"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "°µ½Ì¤µ¤ì¤¿¥¢¡¼¥«¥¤¥Ö¤Ï³Îǧ¤Ç¤­¤Þ¤»¤ó"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "¥Þ¥ë¥Á¥Ü¥ê¥å¡¼¥à¤Ë°µ½Ì¤µ¤ì¤¿¥¢¡¼¥«¥¤¥Ö¤Ï»È¤¨¤Þ¤»¤ó"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 msgid "Cannot concatenate compressed archives"
 msgstr "°µ½Ì¤µ¤ì¤¿¥¢¡¼¥«¥¤¥Ö¤ÏÏ¢·ë¤Ç¤­¤Þ¤»¤ó"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option ¤Ï POSIX ¥¢¡¼¥«¥¤¥Ö¤Ç¤Î¤ß»È¤¨¤Þ¤¹"
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "¶õ¤Î¥¢¡¼¥«¥¤¥ÖºîÀ®¤Ï¤´ÍƼϴꤤ¤Þ¤¹"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "¥ª¥×¥·¥ç¥ó `-Aru' ¤È `-f -' ¤È¤ÏÁêÍƤì¤Þ¤»¤ó"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "¥ª¥×¥·¥ç¥ó `-Acdtrux' ¤Î¤¦¤Á¡¢¤¤¤º¤ì¤«¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "½èÍýÃæ¤Ë¥¨¥é¡¼¤¬µ¯¤­¤Þ¤·¤¿¤¬¡¢ºÇ¸å¤Þ¤Ç½èÍý¤·¤Æ¤«¤é¥¨¥é¡¼½ªÎ»¤µ¤»¤Þ¤·¤¿"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, c-format
@@ -2234,79 +2280,79 @@ msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: ¥Õ¥¡¥¤¥ë¤¬ %s ¥Ð¥¤¥È¾®¤µ¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
 msgstr[1] "%s: ¥Õ¥¡¥¤¥ë¤¬ %s ¥Ð¥¤¥È¾®¤µ¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "¥­¡¼¥ï¡¼¥É %s ¤Ï̤ÃΤޤ¿¤Ï̤¼ÂÁõ"
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "¥Ñ¥¿¡¼¥ó %s ¤Ï»È¤¨¤Þ¤»¤ó"
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "¥­¡¼¥ï¡¼¥É %s ¤Ïʤ¤»¤Þ¤»¤ó"
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: Ä¹¤µ¤Î»ØÄ꤬¤¢¤ê¤Þ¤»¤ó"
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr "³ÈÄ¥¥Ø¥Ã¥ÀĹ¤Ïµö²Ä¤µ¤ì¤¿Èϰϳ°¤Ç¤¹"
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "³ÈÄ¥¥Ø¥Ã¥ÀĹ %*s ¤ÏÈϰϳ°¤Ç¤¹"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: Ä¹¤µ¤Î¸å¤Ë¥Ö¥é¥ó¥¯¤¬¤¢¤ê¤Þ¤»¤ó"
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: = (¥¤¥³¡¼¥ë) µ­¹æ¤¬¤¢¤ê¤Þ¤»¤ó"
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: ²þ¹Ô¤¬¤¢¤ê¤Þ¤»¤ó"
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr "̤ÃΤγÈÄ¥¥Ø¥Ã¥À¥­¡¼¥ï¡¼¥É `%s' ¤ò̵»ë"
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "³ÈÄ¥¥Ø¥Ã¥À %s=%s ¤Ï %s..%s ¤ÎÈÏ°ÏÆâ¤Ë¤¢¤ê¤Þ¤»¤ó"
 
-#: src/xheader.c:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: %s=%s ¤ÏÉÔÀµ"
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: %s=%s ¤Ï;ʬ"
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: %s ¤Ï̵¸ú: Í½´ü¤»¤Ì¶èÀÚ¤êʸ»ú %c"
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "ÉÔÀµ·Á¼°¤Î³ÈÄ¥¥Ø¥Ã¥À: %s ¤Ï̵¸ú: ´ñ¿ôÃÍ"
@@ -2476,97 +2522,115 @@ msgstr "
 msgid "Negative size: %s"
 msgstr "Éé¤Î¥µ¥¤¥º: %s"
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) ¼ºÇÔ"
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "`%s' ¤Î¶á¤¯¤Ç¿ô»ú¤ò¹½Ê¸Ê¬ÀÏ»þ¤Ë¥¨¥é¡¼"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, c-format
 msgid "Unknown date format"
 msgstr "̤ÃΤÎÆüÉÕ·Á¼°"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr "[ARGS...]"
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
 msgstr "`%s' ¤ò³«¤±¤Þ¤»¤ó"
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 msgid "cannot seek"
 msgstr "Áܤ·½Ð¤»¤Þ¤»¤ó"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr "¥Õ¥¡¥¤¥ë̾¤¬¥Ì¥ëʸ»ú¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹"
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "¤Þ¤Ð¤é¤Ê (sparse) ¥Õ¥¡¥¤¥ë¤òɸ½à½ÐÎϤ˽ñ¤­½Ð¤»¤Þ¤»¤ó. --file ¥ª¥×¥·¥ç¥ó¤ò»ÈÍÑ"
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "ÉÔÀµ¤Ê¥Þ¥¹¥¯ (`%s' ¤Ë¶á¤¤)"
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "̤ÃΤΥե£¡¼¥ë¥É `%s'"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "`%s' ¤Ë»þ¹ï¤òÀßÄê¤Ç¤­¤Þ¤»¤ó"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "¥³¥Þ¥ó¥É¤¬Àµ¾ï½ªÎ»\n"
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "¥³¥Þ¥ó¥É¤¬¥¹¥Æ¡¼¥¿¥¹ %d ¤Ç¼ºÇÔ\n"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "¥³¥Þ¥ó¥É¤¬¥·¥°¥Ê¥ë %d ¤Ç½ªÎ»\n"
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "¥³¥Þ¥ó¥É¤¬¥·¥°¥Ê¥ë %d ¤ÇÄä»ß\n"
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr "¥³¥Þ¥ó¥É¤¬¥³¥¢¤ò¥À¥ó¥×\n"
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr "¥³¥Þ¥ó¥É¤¬½ªÎ»\n"
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat ¤Ë¤Ï¥Õ¥¡¥¤¥ë̾¤¬É¬Í×"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr "°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
+
+#, fuzzy
+#~ msgid "cancel effect of the previous --transform-links option"
+#~ msgstr "--delay-directory-restore ¥ª¥×¥·¥ç¥ó¤Î¸ú²Ì¤ò¼è¤ê¾Ã¤·"
+
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr ""
+#~ "½èÍýÃæ¤Ë¥¨¥é¡¼¤¬µ¯¤­¤Þ¤·¤¿¤¬¡¢ºÇ¸å¤Þ¤Ç½èÍý¤·¤Æ¤«¤é¥¨¥é¡¼½ªÎ»¤µ¤»¤Þ¤·¤¿"
index 9735173a648653b18ce5b8a6305a0200a9b95551..7a0ed25ade63d9d11d193163ba78c64894dc98c0 100644 (file)
Binary files a/po/ko.gmo and b/po/ko.gmo differ
index 870b39247721feec7b68e51eed4ba5caee444b3a..c1000ed287cbffd9ecefb13ae8ee6156625fb83c 100644 (file)
--- a/po/ko.po
+++ b/po/ko.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GNU tar 1.12\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\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"
@@ -82,7 +82,7 @@ msgstr ""
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr "´õ ¸¹Àº Á¤º¸¸¦ º¸·Á¸é `%s --help' ÇϽʽÿÀ.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
@@ -91,15 +91,15 @@ msgstr ""
 msgid "Unknown system error"
 msgstr "¾Ë ¼ö ¾ø´Â ½Ã½ºÅÛ ¿À·ù"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr ""
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr ""
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr ""
@@ -112,11 +112,11 @@ msgstr ""
 msgid "SECS"
 msgstr ""
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr ""
 
@@ -134,7 +134,7 @@ msgstr ""
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr ""
 
@@ -193,18 +193,18 @@ msgstr ""
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù."
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 #, fuzzy
 msgid "memory exhausted"
 msgstr "¸Þ¸ð¸®°¡ ¹Ù´Ú³²"
 
 #
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "ÇöÀç µð·ºÅ丮¸¦ ¾Ë ¼ö ¾ø½À´Ï´Ù"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr ""
@@ -330,11 +330,23 @@ msgstr ""
 msgid "'"
 msgstr ""
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr ""
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr ""
 
@@ -539,114 +551,114 @@ msgid "Garbage command"
 msgstr "¾µ¸ð¾ø´Â ¸í·É"
 
 #
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "ÀÌ°ÍÀº tar ¾ÆÄ«À̺êó·³ º¸ÀÌÁö ¾Ê½À´Ï´Ù"
 
 #
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 #, fuzzy
 msgid "Total bytes written"
 msgstr "ÃÑ ¾²¿©Áø ¹ÙÀÌÆ®: "
 
 #
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 #, fuzzy
 msgid "Total bytes read"
 msgstr "ÃÑ ¾²¿©Áø ¹ÙÀÌÆ®: "
 
 #
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, fuzzy, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "ÃÑ ¾²¿©Áø ¹ÙÀÌÆ®: "
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr ""
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "record_size·Î ºÎÀûÀýÇÑ °ª"
 
 #
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "¾ÆÄ«À̺ê À̸§ÀÌ ÁÖ¾îÁöÁö ¾Ê¾Ò½À´Ï´Ù"
 
 #
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Ç¥ÁØÀÔ/Ãâ·Â ¾ÆÄ«À̺긦 °ËÁõÇÒ ¼ö ¾ø½À´Ï´Ù"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr ""
 
 #
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "¾ÐÃàµÈ ¾ÆÄ«À̺긦 °»½ÅÇÒ ¼ö ¾ø½À´Ï´Ù"
 
 #
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "Å×ÀÌÇÁÀÇ ½ÃÀÛ ºÎºÐ¿¡¼­ Áö±Ý Á¾·áÇÔ"
 
 #
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "¿À·ù°¡ ³Ê¹« ¸¹¾Æ¼­ Á¾·áÇÕ´Ï´Ù"
 
-#: src/buffer.c:678
-#, c-format
-msgid "Unaligned block (%lu byte) in archive"
-msgid_plural "Unaligned block (%lu bytes) in archive"
-msgstr[0] ""
-msgstr[1] ""
-
-#: src/buffer.c:698
+#: src/buffer.c:695
 #, fuzzy, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "·¹ÄÚµå Å©±â = %d ºí·°"
 msgstr[1] "·¹ÄÚµå Å©±â = %d ºí·°"
 
-#: src/buffer.c:771
+#: src/buffer.c:716
+#, c-format
+msgid "Unaligned block (%lu byte) in archive"
+msgid_plural "Unaligned block (%lu bytes) in archive"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/buffer.c:793
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 
-#: src/buffer.c:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr ""
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr ""
 
 #
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, fuzzy, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "º¼·ý #%d(%s¸¦ À§ÇÑ)¸¦ ÁغñÇÏ°í ¸®ÅÏÀ» Ä¡¼¼¿ä: "
 
-#: src/buffer.c:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "»ç¿ëÀÚÀÇ ÀÀ´äÀÌ ÇÊ¿äÇÑ °÷¿¡ EOF°¡ ÀÖÀ½"
 
 #
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "°æ°í: ¾ÆÄ«À̺갡 ºÒ¿ÏÀüÇÕ´Ï´Ù"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -658,74 +670,81 @@ msgstr ""
 " !          ¼­ºê¼ÐÀ» ½ÇÇàÇÕ´Ï´Ù\n"
 " ?          ÀÌ ¸ñ·ÏÀ» ÀμâÇÕ´Ï´Ù\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
 #
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "»õ º¼·ýÀÌ ¾Æ´Ô; Á¾·á.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, c-format
 msgid "%s command failed"
 msgstr ""
 
 #
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, fuzzy, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s´Â ÀÌ º¼·ý¿¡ ¿¬¼ÓµÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù"
 
 #
-#: src/buffer.c:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s´Â ÀÌ º¼·ý¿¡ ¿¬¼ÓµÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù"
 
 #
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, fuzzy, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s´Â À߸øµÈ Å©±âÀÔ´Ï´Ù (%ld != %ld + %ld)"
 
 #
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "ÀÌ º¼·ýÀº ¼ø¼­¸¦ ¹þ¾î³µ½À´Ï´Ù"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, fuzzy, c-format
 msgid "Archive not labeled to match %s"
 msgstr "`%s'¿Í ÀÏÄ¡Çϵµ·Ï ¶óº§ÀÌ ºÙÁö ¾ÊÀº ¾ÆÄ«À̺ê"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, fuzzy, c-format
 msgid "Volume %s does not match %s"
 msgstr "º¼·ý `%s'°¡ `%s'¿Í ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 
+#
+#: src/buffer.c:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "ºí·° °æ°è°¡ ¾Æ´Ñ ºÎºÐ¿¡¼­ ¾ÆÄ«À̺ê %sÀÇ EOF °ËÃâ"
+
 #
 #: src/compare.c:96
 #, fuzzy, c-format
@@ -740,8 +759,8 @@ msgid "Contents differ"
 msgstr "¸ðµå°¡ ´Ù¸¨´Ï´Ù"
 
 #
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "¾ÆÄ«À̺꿡 ¿¹±âÄ¡ ¾ÊÀº EOF"
 
@@ -876,7 +895,7 @@ msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: ´Ù¸¥ ÆÄÀϽýºÅÛ »ó¿¡ ÀÖÀ½; ´ýÇÁµÇÁö ¾ÊÀ½"
 
 #
-#: src/create.c:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 #, fuzzy
 msgid "contents not dumped"
 msgstr " (ÄÚ¾î Ãâ·ÂµÊ)"
@@ -910,7 +929,7 @@ msgstr "%s
 msgid "%s: File removed before we read it"
 msgstr ""
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr ""
 
@@ -963,183 +982,183 @@ msgstr ""
 msgid "Extracting contiguous files as regular files"
 msgstr "¿¬¼ÓµÇ¾î Àִ ÆÄÀÏÀ» ÀϹݠÆÄÀϷΠÃßÃâÇÔ"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "±âÈ£ ¸µÅ©¸¦ Çϵ堸µÅ©·Î ÃßÃâÇÏ°í ÀÖ½À´Ï´Ù"
 
 #
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "%s¸¦ Àд Áß\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, fuzzy, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "`%s'¸¦ ÃßÃâÇÒ ¼ö ¾ø½À´Ï´Ù -- ÀÌ ÆÄÀÏÀº ´Ù¸¥ º¼·ý¿¡ ¿¬¼ÓµÇ¾î ÀÖ½À´Ï´Ù"
 
 #
-#: src/extract.c:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "¾ÆÄ«À̺ê ÆÄÀÏ¿¡ ¿¹±âÄ¡ ¾ÊÀº EOF"
 
 #
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, fuzzy, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
 msgstr "%s: ¾Ë ¼ö ¾ø´Â ÆÄÀϠŸÀÔ; ÆÄÀÏÀÌ ¹«½ÃµÊ"
 
-#: src/extract.c:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr ""
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: ÀÌ ÆÄÀÏÀ» ¹é¾÷ÇÒ ¼ö ¾ø¾ú½À´Ï´Ù"
 
 #
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s¸¦ %s·Î À̸§À» ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr ""
 
 #
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, fuzzy, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s µð·ºÅ丮´Â À̸§ÀÌ ¹Ù²î¾ú½À´Ï´Ù"
 
 #
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, fuzzy, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s µð·ºÅ丮´Â À̸§ÀÌ ¹Ù²î¾ú½À´Ï´Ù"
 
 #
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, fuzzy, c-format
 msgid "%s: Directory is new"
 msgstr "%s´Â »õ µð·ºÅ丮ÀÔ´Ï´Ù"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr ""
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 #, fuzzy
 msgid "Invalid modification time (seconds)"
 msgstr "¿É¼Ç¿¡ ºÎÀûÀýÇÑ ¸ðµå°¡ ÁÖ¾îÁü"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr ""
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr ""
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr ""
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr ""
 
 #
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 #, fuzzy
 msgid "Read error in snapshot file"
 msgstr "%s¿¡¼­ Àб⠿À·ù"
 
 #
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "¾ÆÄ«À̺ê ÆÄÀÏ¿¡ ¿¹±âÄ¡ ¾ÊÀº EOF"
 
 #
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 #, fuzzy
 msgid "Unexpected field value in snapshot file"
 msgstr "¾ÆÄ«À̺ê ÆÄÀÏ¿¡ ¿¹±âÄ¡ ¾ÊÀº EOF"
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr ""
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr ""
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr ""
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr ""
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
 #
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, fuzzy, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "%s·Î µð·ºÅ丮¸¦ ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr ""
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr ""
 
 #
-#: src/incremen.c:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: %s¸¦ Áö¿ò\n"
 
 #
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, fuzzy, c-format
 msgid "%s: Cannot remove"
 msgstr "%s¸¦ Áö¿ï ¼ö ¾ø½À´Ï´Ù"
@@ -1160,92 +1179,92 @@ msgstr "
 msgid "block %s: ** End of File **\n"
 msgstr "ºí·° %10ld: ** ÆÄÀÏÀÇ ³¡ **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, fuzzy, c-format
 msgid "block %s: "
 msgstr "ºí·° %10ld: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, 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:728
+#: src/list.c:737
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr ""
 
-#: src/list.c:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr ""
 
-#: src/list.c:763
+#: src/list.c:772
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr ""
 
 #
-#: src/list.c:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr ""
 
 #
-#: src/list.c:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " %s·Î ¸µÅ©\n"
 
 #
-#: src/list.c:1225
+#: src/list.c:1234
 #, fuzzy, c-format
 msgid " unknown file type %s\n"
 msgstr " ¾Ë ¼ö ¾ø´Â ÆÄÀϠŸÀÔ `%c'\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr ""
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr ""
 
 #
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--º¼·ý Çì´õ--\n"
 
 #
-#: src/list.c:1259
+#: src/list.c:1268
 #, fuzzy, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--%ld ¹ÙÀÌÆ® Â°¿¡ °è¼ÓµÊ--\n"
 
 #
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "µð·ºÅ丮¸¦ ¸¸µå´Â Áß:"
 
@@ -1289,26 +1308,26 @@ msgstr ""
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr ""
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr ""
 
 #
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: ¾ÆÄ«À̺꿡 ¾øÀ½"
 
 #
-#: src/names.c:621
+#: src/names.c:615
 #, fuzzy, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: ¾ÆÄ«À̺꿡 ¾øÀ½"
@@ -1333,7 +1352,7 @@ msgid ""
 "Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
 msgstr ""
 
-#: src/tar.c:334
+#: src/tar.c:336
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1344,7 +1363,7 @@ msgid ""
 "  tar -xf archive.tar          # Extract all files from archive.tar.\n"
 msgstr ""
 
-#: src/tar.c:343
+#: src/tar.c:345
 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 "
@@ -1356,88 +1375,88 @@ msgid ""
 "  never, simple   always make simple backups\n"
 msgstr ""
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr ""
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr ""
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr ""
 
 #
-#: src/tar.c:377
+#: src/tar.c:379
 #, fuzzy
 msgid "create a new archive"
 msgstr "¾ÆÄ«À̺꿡 ¿¹±âÄ¡ ¾ÊÀº EOF"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr ""
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr ""
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr ""
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr ""
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr ""
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr ""
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr ""
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr ""
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr ""
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr ""
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1445,562 +1464,576 @@ msgid ""
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr ""
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr ""
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr ""
 
 #
-#: src/tar.c:431
+#: src/tar.c:433
 #, fuzzy
 msgid "remove files after adding them to the archive"
 msgstr "¾ÆÄ«À̺꿡 Àִ À̸§µé¿¡¼­ µå¶óÀ̺ê ÁöÁ¤¹®À» Á¦°ÅÇÔ"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr ""
 
-#: src/tar.c:435
+#: src/tar.c:437
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 
-#: src/tar.c:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr ""
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr ""
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr ""
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr ""
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr ""
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
 msgstr ""
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr ""
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr ""
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr ""
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr ""
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr ""
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr ""
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:472
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr ""
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr ""
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr ""
 
-#: src/tar.c:477
+#: src/tar.c:479
 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:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr ""
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr ""
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr ""
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr ""
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr ""
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr ""
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr ""
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr ""
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr ""
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
 msgstr ""
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr ""
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr ""
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr ""
 
 #
-#: src/tar.c:535
+#: src/tar.c:537
 #, fuzzy
 msgid "create/list/extract multi-volume archive"
 msgstr "´ÙÁß-º¼·ý ¾ÆÄ«À̺긦 °ËÁõÇÒ ¼ö ¾ø½À´Ï´Ù"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr ""
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr ""
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr ""
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr ""
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr ""
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr ""
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr ""
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr ""
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr ""
 
 #
-#: src/tar.c:561
+#: src/tar.c:563
 #, fuzzy
 msgid "Archive format selection:"
 msgstr "Ç¥ÁØÀԷ¿¡ ´ëÇÑ ¾ÆÄ«À̺ê"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr ""
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr ""
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr ""
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr ""
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr ""
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr ""
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr ""
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr ""
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr ""
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr ""
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr ""
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
 
-#: src/tar.c:592
+#: src/tar.c:594
 #, fuzzy
 msgid "Compression options:"
 msgstr "Çò°¥¸®´Â ¾ÐÃ࠿ɼÇ"
 
-#: src/tar.c:594
+#: src/tar.c:596
 #, fuzzy
 msgid "use archive suffix to determine the compression program"
 msgstr "¾ÐÃà ÇÁ·Î±×·¥¿¡ ¾µ ¼ö ¾ø½À´Ï´Ù"
 
-#: src/tar.c:596
+#: src/tar.c:598
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr ""
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr ""
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr ""
 
-#: src/tar.c:605
+#: src/tar.c:610
 msgid "filter the archive through lzma"
 msgstr ""
 
-#: src/tar.c:606
+#
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "%s´Â ¾ÆÄ«À̺êÀÔ´Ï´Ù; ´ýÇÁµÇÁö ¾ÊÀ½"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr ""
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr ""
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr ""
 
-#: src/tar.c:615
+#: src/tar.c:622
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 
-#: src/tar.c:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr ""
 
 #
-#: src/tar.c:617
+#: src/tar.c:624
 #, fuzzy
 msgid "change to directory DIR"
 msgstr "%s·Î µð·ºÅ丮¸¦ ¹Ù²Ü ¼ö ¾ø½À´Ï´Ù"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr ""
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr ""
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr ""
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr ""
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr ""
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr ""
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr ""
 
-#: src/tar.c:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/tar.c:639
+#: src/tar.c:648
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 
-#: src/tar.c:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
 msgstr ""
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr ""
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr ""
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr ""
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr ""
 
 #
-#: src/tar.c:654
+#: src/tar.c:663
 #, fuzzy
 msgid "don't strip leading `/'s from file names"
 msgstr "Àý´ë ¸µÅ©µé¿¡¼­ ¾Õ¿¡ ºÙÀº `/'¸¦ Á¦°ÅÇÔ"
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:658
+#: src/tar.c:667
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr ""
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr ""
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr ""
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr ""
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr ""
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr ""
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:676
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/tar.c:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr ""
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr ""
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr ""
 
-#: src/tar.c:699
+#: src/tar.c:709
 #, fuzzy
 msgid "wildcards do not match `/'"
 msgstr "º¼·ý `%s'°¡ `%s'¿Í ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr ""
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2008,225 +2041,231 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr ""
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr ""
 
 #
-#: src/tar.c:730
+#: src/tar.c:740
 #, fuzzy
 msgid "ask for confirmation for every action"
 msgstr "»ç¿ëÀÚÀÇ È®ÀÎÀ» ÀÐÀ» ¼ö ¾ø½À´Ï´Ù"
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr ""
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr ""
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "`-Acdtrux' ¿É¼Ç Áß Çϳª ÀÌ»óÀ» ÁöÁ¤Çϸ頾ȠµË´Ï´Ù"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Çò°¥¸®´Â ¾ÐÃ࠿ɼÇ"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr "¾Ë ¼ö ¾ø´Â ÆÐÅÏ `%s'"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 msgid "Date sample file not found"
 msgstr ""
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr ""
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr ""
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, c-format
 msgid "%s: file list already read"
 msgstr ""
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr ""
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr ""
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr ""
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr ""
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr ""
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr ""
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "¿É¼Ç¿¡ ºÎÀûÀýÇÑ ¸ðµå°¡ ÁÖ¾îÁü"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr ""
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 #, fuzzy
 msgid "Invalid owner"
 msgstr "¿É¼Ç¿¡ ºÎÀûÀýÇÑ ¼ÒÀ¯ÀÚ°¡ ÁÖ¾îÁü"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 #, fuzzy
 msgid "Invalid record size"
 msgstr "record_size·Î ºÎÀûÀýÇÑ °ª"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "·¹ÄÚµå Å©±â´Â %dÀÇ ¹è¼ö°¡ µÇ¾î¾ß ÇÕ´Ï´Ù."
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr ""
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, fuzzy, c-format
 msgid "Unknown density: `%c'"
 msgstr "¾Ë ¼ö ¾ø´Â ÆÐÅÏ `%s'"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, c-format
 msgid "Options `-[0-7][lmh]' not supported by *this* tar"
 msgstr "`-[0-7][lmh]' ¿É¼ÇÀº ÀÌ tar¿¡¼± Áö¿øµÇÁö ¾Ê½À´Ï´Ù"
 
-#: src/tar.c:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr ""
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "¿À·¡µÈ ¿É¼Ç `%c'´Â Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr ""
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 #, fuzzy
 msgid "Multiple archive files require `-M' option"
 msgstr "´ÙÁß ¾ÆÄ«À̺ê ÆÄÀÏÀº `-M' ¿É¼ÇÀÌ ÇÊ¿äÇÕ´Ï´Ù"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr ""
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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)"
@@ -2234,45 +2273,53 @@ msgstr[0] ""
 msgstr[1] ""
 
 #
-#: src/tar.c:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "´ÙÁß-º¼·ý ¾ÆÄ«À̺긦 °ËÁõÇÒ ¼ö ¾ø½À´Ï´Ù"
 
 #
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "¾ÐÃàµÈ ¾ÆÄ«À̺긦 °ËÁõÇÒ ¼ö ¾ø½À´Ï´Ù"
 
 #
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "¾ÐÃàµÈ ´ÙÁß-º¼·ý ¾ÆÄ«À̺긦 »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù"
 
 #
-#: src/tar.c:2281
+#: src/tar.c:2320
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "¾ÐÃàµÈ ¾ÆÄ«À̺긦 °»½ÅÇÒ ¼ö ¾ø½À´Ï´Ù"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr ""
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "`-Aru' ¿É¼ÇÀº `-f -'°ú µ¿½Ã¿¡ ¾µ ¼ö ¾ø½À´Ï´Ù"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "`-Acdtrux' ¿É¼Çµé Áß Çϳª¸¦ ÁöÁ¤ÇؾߠÇÕ´Ï´Ù"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
+msgid "Exiting with failure status due to previous errors"
 msgstr ""
 
 #
@@ -2283,79 +2330,79 @@ msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: ÆÄÀÏÀÌ %d ¹ÙÀÌÆ® ÁÙ¾îµë, (¿Í¿ì!)"
 msgstr[1] "%s: ÆÄÀÏÀÌ %d ¹ÙÀÌÆ® ÁÙ¾îµë, (¿Í¿ì!)"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr ""
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr ""
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr ""
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr ""
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr ""
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr ""
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr ""
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr ""
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr ""
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr ""
 
-#: src/xheader.c:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr ""
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr ""
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2520,100 +2567,110 @@ msgstr ""
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "¾Ë ¼ö ¾ø´Â ½Ã½ºÅÛ ¿À·ù"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr ""
 
 #
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, fuzzy, c-format
 msgid "cannot open `%s'"
 msgstr "%s¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù"
 
 #
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 #, fuzzy
 msgid "cannot seek"
 msgstr "%s¸¦ ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr "¾Ë ¼ö ¾ø´Â ÆÐÅÏ `%s'"
 
 #
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "%s¸¦ statÇÒ ¼ö ¾ø½À´Ï´Ù"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr ""
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr ""
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr ""
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, c-format
 msgid "--stat requires file names"
 msgstr ""
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr ""
@@ -2695,10 +2752,6 @@ msgstr ""
 #~ msgid "WARNING: No volume header"
 #~ msgstr "°æ°í: º¼·ý Çì´õ ¾øÀ½"
 
-#
-#~ msgid "Archive %s EOF not on block boundary"
-#~ msgstr "ºí·° °æ°è°¡ ¾Æ´Ñ ºÎºÐ¿¡¼­ ¾ÆÄ«À̺ê %sÀÇ EOF °ËÃâ"
-
 #
 #~ msgid "Only read %d bytes from archive %s"
 #~ msgstr "%d ¹ÙÀÌÆ®¸¸ ¾ÆÄ«À̺ê %s¿¡¼­ Àоú½À´Ï´Ù"
index 8405ae3d2d7670fa6b78459100698dcef3f4bb06..44ecf114f09247a0dbb625eb4a9b6c18bf9bd69c 100644 (file)
Binary files a/po/ky.gmo and b/po/ky.gmo differ
index 863412f6d9f262af94de2093fa0b41efcaf38487..d9e782d46a9efbb1069e305d8671a0654f9fb3fc 100644 (file)
--- a/po/ky.po
+++ b/po/ky.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.18\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\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"
@@ -86,7 +86,7 @@ msgstr " [ОПЦИЯ...]"
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr "Толук маалымат үчүн `%s --help' же `%s --usage' деп жазгыла.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Каталарды бул жерге билдиргиле %s.\n"
@@ -95,15 +95,15 @@ msgstr "Каталарды бул жерге билдиргиле %s.\n"
 msgid "Unknown system error"
 msgstr "Белгисиз система катасы"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr "Бул жардам тизмесин көрсөтөт"
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr "Колдонуу жөнүндө кыска маалымат көрсөтөт"
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr "АТЫ"
@@ -116,11 +116,11 @@ msgstr "Программага ат кой"
 msgid "SECS"
 msgstr "СЕК"
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr "СЕК секунда күтүңүз (алдынала - 3600)"
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr "программанын версиясын көрсөтөт"
 
@@ -138,7 +138,7 @@ msgstr "%s: Аргументтердин саны көп\n"
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(ПРОГРАММАДА КАТА) Опция билиниш керек болчу!?"
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr ""
 
@@ -198,16 +198,16 @@ msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: `-W %s' опциясы менен аргумент колдонулбайт\n"
 
 # Памятты эмне дейбиз яя? ;)
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "Память жетпей калды"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Учурдагы папка алмаштырылбайтат"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Учурдагы папка сакталбайтат"
@@ -330,12 +330,24 @@ msgid "'"
 msgstr "“"
 
 # Ооба/ооба
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr "^[оО]"
 
 # жок/Жок
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr "^[жЖ]"
 
@@ -537,100 +549,100 @@ msgstr "Файлдын соңу эрте келди"
 msgid "Garbage command"
 msgstr "Туура эмес команда"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Бул tar-архиви эмес окшойт"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 msgid "Total bytes written"
 msgstr "Жазылган жалпы байт"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr "Алынган жалпы байт"
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Өчүрүлгөн жалпы байт: %s\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(канал)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "record_size мааниси жарабайт"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Архивдин аты берилген жок"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Архивдин stdin/stdout текшерүүсү болбой жатат"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Архив кысыштырылган абалда. %s опциясын колдонгула"
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Кысыштырылган архивдерди жаңырталбай калды"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "Лентанын башына келди, иш бүттү"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Өтө көп ката бар, иш бүттү"
 
-#: src/buffer.c:678
-#, c-format
-msgid "Unaligned block (%lu byte) in archive"
-msgid_plural "Unaligned block (%lu bytes) in archive"
-msgstr[0] "Архивде түз жайлашпаган блок бар (%lu байт)"
-
-#: src/buffer.c:698
+#: src/buffer.c:695
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Маалыматтын көлөмү = %lu блок"
 
-#: src/buffer.c:771
+#: src/buffer.c:716
+#, c-format
+msgid "Unaligned block (%lu byte) in archive"
+msgid_plural "Unaligned block (%lu bytes) in archive"
+msgstr[0] "Архивде түз жайлашпаган блок бар (%lu байт)"
+
+#: src/buffer.c:793
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "Архивдеги файл өчпөй калды; архив ачылбаса -i деп колдонгула"
 
-#: src/buffer.c:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek маалыматтын чегинде токтогон жок"
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: жараксыз том номери бар"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Томдун номери батпай калды"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "%2$s үчүн %1$d-томду даярдап Enter'ди басыңыз: "
 
-#: src/buffer.c:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "Колдонуучудан жооп күтүбатканда файлдын соңу келип калды"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "ЭСКЕРТҮҮ: Архив толук эмес"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -641,70 +653,76 @@ msgstr ""
 " q\t\ttar программасынын ишин бүтүр\n"
 "y же Ввод\t\tИшти улант\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Команда строкасын ач\n"
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Бул тизмени жаз\n"
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Жаңы том жок; иш бүттү.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr "Файлдын аты берилген жок. Кайра жазып көргүлө.\n"
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Туура эмес ввод. Жардам үчүн ? жазгыла.\n"
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, c-format
 msgid "%s command failed"
 msgstr "%s командасы аткарылбай калды"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s бул томдо уланса керек: башкы-маалыматта аты кыскартылыптыр"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s мунун бул томдо уландысы жок"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s көлөмү туура эмес (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Бул том иретте эмес"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Архивдин тамгасы %s менен келишпей жатат"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "%s тому %s менен келишпей жатат"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 "%s: файлдын аты көп-томдук GNU башкы-маалымат үчүн өтө узун, кыскартылды"
 
+#: src/buffer.c:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "rmtlseek маалыматтын чегинде токтогон жок"
+
 #: src/compare.c:96
 #, c-format
 msgid "Could only read %lu of %lu byte"
@@ -715,8 +733,8 @@ msgstr[0] "%2$lu байттан %1$lu гана окулду"
 msgid "Contents differ"
 msgstr "Мазмундары окшобойт"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Архивде күтүлбөгөн жерде файлдын соңу бар"
 
@@ -831,7 +849,7 @@ msgstr[0] "%s: Файл %s байтка азайды; нөлдөр менен т
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: файл башка файл-системасында; кошулбайт"
 
-#: src/create.c:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr "астындагылар кошулган жок"
 
@@ -860,7 +878,7 @@ msgstr "%s: файл архив экен; кошулбайт"
 msgid "%s: File removed before we read it"
 msgstr "%s: Файл окулганча өчүрүлүп кетти"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr "папка кошулган жок"
 
@@ -911,169 +929,169 @@ msgstr "%s: Папканын статусу билинелектен мурун
 msgid "Extracting contiguous files as regular files"
 msgstr "Удаа болгон файлдар жөнөкөй файл катары чыгарылып жатат"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Символикалык шилтемелерди түз шилтеме катары чыгарууга аракет кылынат"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "%s жактан окуп жатат\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Чыгарылган жок -- файл башка томдон уланып келиптир"
 
-#: src/extract.c:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 msgid "Unexpected long name header"
 msgstr "Башкы-маалымат узун"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
 msgstr "%s: `%c' файл түрү бүлгисиз, жөнөкөй файл катары чыгарылды"
 
-#: src/extract.c:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Азыркы %s жаңыраак же бирдей"
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Бул файлдын резерв копиясы алыналбай калды"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s файлы %s деп алмаштыралбай калды"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "Оңолбогон ката: иш бүттү "
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Папканын эски аты %s эле"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Папка алмаштырылды"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Папка жаңы"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Жараксыз убакыт тамгасы"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 msgid "Invalid modification time (seconds)"
 msgstr "Алмашуу убагы туура эмес (секундалары)"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr "Алмашуу убагы туура эмес (нано-секундалары)"
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Аспаптын номери жараксыз "
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Inode номери жараксыз"
 
 # фиелд, снэпшот дегендер кандай болот?
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr "Снэпшот файлды окубатканда ото узун поле чыкты"
 
 # snapshot?
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr "Снэпшот файлды окубатканда ката болду"
 
 # snapshot?
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 msgid "Unexpected EOF in snapshot file"
 msgstr "Снэпшот файлда күтүлбөгөн жерде файлдын соңу (EOF) бар"
 
 # фиелд кандай болот? snapshot?
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr "Снэпшот файлда күтүлбөгөн поле(фиелд) бар"
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr "Записьтерди бөлүүчү символ жок"
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr "Файлдын форматы туура эмес"
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Форматтын бул версиясы иштетиле албайт: %<PRIuMAX>"
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "Кошулуучу папка бузук: '%c' күтүлгөн бирок %#3o келди"
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Кошулуучу папка бузук: 'X' копиялары бар"
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Кошулуучу папка бузук: 'R' менен берилген ат бош"
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr "Кошулуучу папка бузук: 'T'дан мурун 'R' жок"
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Кошулуучу папка бузук: 'T' менен берилген ат бош"
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr "Кошулуучу папка бузук: '%c' күтүлгөн бирок датанын соңу келди"
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Кошулуучу папка бузук: 'X' эч колдонулган жок"
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "%s шаблонун колдонуп убактылуу жаңы папка ачылган жок"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Папка өчүрүлгөн жок: stat иштебей койду"
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: бул папка башка аспапта жайгашкан: өчүрүлбөйт"
 
-#: src/incremen.c:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: %s өчүрүлүп жатат\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Өчүрүлбөй жатат"
@@ -1093,19 +1111,19 @@ msgstr "блок %s: ** нөлдөр болгон блок **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "блок %s: ** Файлдын соңу **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "блок %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1113,70 +1131,70 @@ msgstr ""
 "экилик системадагы терси алынды"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:728
+#: src/list.c:737
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr ""
 "Архивдин сегиздик системадагы мааниси болгон %.*s %s диапазонунун тышында"
 
-#: src/list.c:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Архивде эски түрдөгү base-64 башкы-маалымат бар"
 
-#: src/list.c:763
+#: src/list.c:772
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Архивдеги base-64 түрүндөгү %s сөзү %s диапазонунун тышында"
 
-#: src/list.c:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Архивдин %s мааниси %s түрүнүн %s..%s диапазонунда эмес"
 
-#: src/list.c:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " %s жака шилтеме\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " белгисиз файл түрү %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Узун шилтеме--\n"
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Узун ат--\n"
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Томдун башкы-маалыматы--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--%s-байттан баштап уланды--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Жаңы папка ачылыбатат:"
 
@@ -1216,25 +1234,25 @@ msgstr "процесс-аралык канал"
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr "Файлдын аттарында уйкаштарды издөө үчүн колдонулган тамгалар бар."
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
 "Уйкаштарды издөө үчүн --wildcards опциясын колдонуңуз, же --no-wildcards"
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr "опциясы менен бул эскертүүнү көрсөтпөс кыл."
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Архивде табылган жок"
 
-#: src/names.c:621
+#: src/names.c:615
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Керектүү нерселер архивде табылган жок"
@@ -1261,7 +1279,7 @@ msgstr ""
 "Ковычкалардын түрү белгисиз - `%s'. Тизмени көрүүгө `%s --quoting-"
 "style=help' жазгыла."
 
-#: src/tar.c:334
+#: src/tar.c:336
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1283,7 +1301,7 @@ msgstr ""
 "  tar -xf archive.tar          # Аты archive.tar болгон архивдин ичиндеги "
 "баардык файлдарды чыгарат.\n"
 
-#: src/tar.c:343
+#: src/tar.c:345
 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 "
@@ -1305,89 +1323,89 @@ msgstr ""
 "жөнөкөй вариант\n"
 "  never, simple   ар дайым жөнөкөй резерв копиялар сакталат\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr "Негизги иштөө абалы:"
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr "архивдин ичиндеги файлдарды тизмелейт"
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr "архивден файлдарды чыгарат"
 
-#: src/tar.c:377
+#: src/tar.c:379
 msgid "create a new archive"
 msgstr "жаңы архив жаратат"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr "архив менен файл система айырмаларын табат"
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr "файлдарды архивдин аягына кошот"
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr "архивдин ичиндегилерден жаңы болгон файлдарды гана кошот"
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr "tar файлын архивге кошот"
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "архивден өчүрөт (магниттик ленталарда жарабайт!)"
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr "архивдик томдун атын текшерет анан бүтүрөт"
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr "Иштөөнүн модификаторлору:"
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr "кеңири жайлашкан файлдарды эфектүү түрдө колго ал"
 
 # major, minor
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr "БАШКЫ[.КИЙИНКИ]"
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 "кеңири жайлаштыруу форматынын версиясын тандайт (--sparce опциясы кошулган "
 "болот)"
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr "эски GNU форматындагы резервдөө методун колго ал"
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr "ФАЙЛ"
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr "жаңы GNU форматындагы резервдөө методун колго ал"
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr "окулбаган файлдар келгенде нөл болбогон статус менен ишти бүтүрбө"
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr "N"
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1399,119 +1417,119 @@ msgstr ""
 "файлдардын аттары команда строкасында же -T опциясы менен берилгенде гана "
 "жарактуу болот. N-дин мааниси алдынала 1ге барабар."
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr "Архивдин ичиндегилерди издесе болот"
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr "үстүнө көчүрүү контролу:"
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr "архивди сактагандан кийин текшерүүгө аракет кылат"
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr "файлдарды архивге кошулгандан кийин өчүрөт"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr "файлдарды чыгаруу учурунда мурун бар болгон файлдардын ордуна көчүрбө"
 
-#: src/tar.c:435
+#: src/tar.c:437
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr "мурун бар болгон файл архивдеги копиясындан жаңы болсо аны алмаштырба"
 
-#: src/tar.c:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr "чыгаруу учурунда мурун бар болгон файлдардын ордуна көчүрөт"
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr "бар болгон файлдын ордуна көчүрүүдөн мурун ал файлды өчүрөт"
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr "папканы чыгарардан мурун баардык иерархияларды өчүрөт"
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr "мурун бар болгон папкалардын мета-касиеттерин корго"
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 "чыгаруу учурунда бар болгон папкалардын мета-даталардын үстүнө жазылат "
 "(алдынала тандалат)"
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr "Чыгаруу() жолун танда:"
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
 msgstr "файлдарды стандарт чыгарууга (output) жөнөт"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr "КОМАНДА"
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr ""
 "архивден чыккан файлдарды канал(pipe) жолу менен башка программага жөнөтөт"
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr "туулган процесстердин бүтүрүү кодторуна караба"
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr "туулган процесстердин нөл болбогон бүтүрүү кодторун ката деп ишке ал"
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr "Файлдын өзгөчөлүктөрүн колго алууда:"
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr "кошулган файлдардын ээсин АТЫ деп кой"
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr "кошулган файлдардын группасын АТЫ деп кой"
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr "ДАТА-ЖЕ-ФАЙЛ"
 
-#: src/tar.c:472
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "кошулган файлдардын алмашуу убактысын ДАТА-ЖЕ-ФАЙЛ дан ал"
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr "УКУК"
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "кошулган файлдардын укук абалын УКУК деп кой"
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr "МЕТОД"
 
-#: src/tar.c:477
+#: src/tar.c:479
 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 "
@@ -1521,28 +1539,28 @@ msgstr ""
 "сакта (МЕТОД='replace'; алдынала тандалат) же колдонуу убакыттарын "
 "алмашырбай туруп сактап кал (МЕТОД='system')"
 
-#: src/tar.c:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr "файлдын алмаштыруу убактын чыгарбайт"
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr "ээсин ошол бойдон калтырып файлдарды чыгарууга аракет кылат"
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr "файлдарды өзүңдүкү катары чыгарат"
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr "ээси/группа аттарын ардайым номерлер менен көрсөтөт"
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 "файлдын уруксат маалыматын да чыгар (суперколдонуучуга алдынала тандалат)"
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1550,15 +1568,15 @@ msgstr ""
 "архивден уруксат маалыматын чыгарыбатканда колдонуучунун umask'ын колдон "
 "(жөн колдонуучуларга алдынала тандлат)"
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr "чыгатурган файлдарды архивдегидей кылып сортто"
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr "-p жана -s менен бирдей"
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1566,141 +1584,141 @@ msgstr ""
 "чыгарылган папкалардын колдонуу убакыттарын жана уруксаттарын чыгаруу иши "
 "бүткөндөн кийин коёт"
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "--delay-directory-restore опциясынын эффектин токтотот"
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr "Аспапты тандоо жана ага өтүү:"
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr "АРХИВ"
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr "АРХИВ деген архивдик файлды же аспапты колдонот"
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
 msgstr "архивдик файлда эки точка болушуна карабастан ал локалдуу"
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "rmt'нин ордуна КОМАНДА колдонулат"
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr "rsh'тын ордуна КОМАНДА колдонулат"
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr "драйв жана анын тыгыздыгын белгиле"
 
-#: src/tar.c:535
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
 msgstr "көп томдуу архивди жарат/тизмеле/чыгар"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "N x 1024 байт жазгандан кийин лентаны алмаштыр"
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr "ар лентанын аягында скриптти иштет (-M опциясы колдонулат)"
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr "ФАЙЛ файлынын ичиндеги том номерин колдон/жаңырт"
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr "Аспаптын блоктолушу:"
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr "БЛОК"
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr "ар маалыматка БЛОК x 512 байт түшөт"
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "Ар маалыматка N байт түшөт, 512 көбөйтүндүсү"
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "архивдеги нөлдүү блокторду өтүп кетет (EOF жөнүндө)"
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "окубатканда кайрадан блокторго бөлүп чык (4.2BSD каналдары үчүн)"
 
-#: src/tar.c:561
+#: src/tar.c:563
 msgid "Archive format selection:"
 msgstr "Архивдин форматын тандоо:"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr "ФОРМАТ"
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr "тандалган форматта архив жаратат"
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr "ФОРМАТ булардан бирөө болот:"
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr "эски V7 tar форматы"
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr "tar <= 1.12 версиясында болгондой GNU форматы"
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr "GNU tar 1.13.x форматы"
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "POSIX 1003.1-1988 (ustar) форматы"
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "POSIX 1003.1-2001 (pax) форматы"
 
 # pax деген gid,atime сияктуу нерселер
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr "pax менен бирдей"
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr "--format=v7 менен бирдей"
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr "--format=posix менен бирдей"
 
 # keyword эмне болот?
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "ачкыч-сөз[[:]=мааниси][,ачкыч-сөз[[:]=мааниси]]..."
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr "контролдоо үчүн pax ачкыч сөздөрү"
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr "ТЕКСТ"
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1708,87 +1726,100 @@ msgstr ""
 "том аты ТЕКСТ болгон архив жарат; тизмелөө/чыгаруу учурунда, ТЕКСТ дегенди "
 "том атынын глоб шаблону катары колдон"
 
-#: src/tar.c:592
+#: src/tar.c:594
 #, fuzzy
 msgid "Compression options:"
 msgstr "Бирбирине келишпеген кысыштыруу опциялары берилди"
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:596
+#: src/tar.c:598
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr "архивди bzip2 менен ишке ал"
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr "архивди gzip менен ишке ал"
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr "архивди compress менен ишке ал"
 
-#: src/tar.c:605
+#: src/tar.c:610
 #, fuzzy
 msgid "filter the archive through lzma"
 msgstr "архивди gzip менен ишке ал"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "архивди gzip менен ишке ал"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr "ПРОГ"
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr "ПРОГ менен ишке ал (-d опциясы болушу керек)"
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr "Локалдуу файлдарды тандоо:"
 
-#: src/tar.c:615
+#: src/tar.c:622
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr "ФАЙЛды архивге кош (файлдын аты тире менен баштаган учурда пайдалуу)"
 
-#: src/tar.c:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr "ПАПКА"
 
-#: src/tar.c:617
+#: src/tar.c:624
 msgid "change to directory DIR"
 msgstr "ПАПКА папкасына өт"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr "чыгарылатурган же жаңы ачылатурган файлдарды АТЫ деген файлдан кара"
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr "-T опциясы нөл менен бүткөн аттарды окуйт, -C опциясы өчүрүлөт"
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
 "-T менен алынган файлдардын аттарындагы ковычкалар өчүрүлөт (алдынала "
 "тандалат)"
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr "-T менен алынган файлдардын аттарындагы ковычкалар калаберет"
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "ШАБЛОН"
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr "ШАБЛОН менен уйкаш файлдар ишке алынбайт"
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr "ФАЙЛда тизмеленген шаблондор менен уйкаш файлдар ишке алынбайт"
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1796,92 +1827,92 @@ msgstr ""
 "CACHEDIR.TAG файлы болгон папкалардын астындагылары тэг файлдан тышкарысы "
 "кошулбайт"
 
-#: src/tar.c:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "CACHEDIR.TAG файлы болгон папкалардын астындагыларынын баары кошулбайт"
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "CACHEDIR.TAG файлы болгон папкалар кошулбайт"
 
-#: src/tar.c:639
+#: src/tar.c:648
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 "ФАЙЛ файлы болгон папкалардын астындагылары ФАЙЛ файлындан тышкарысы "
 "кошулбайт"
 
-#: src/tar.c:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
 msgstr "ФАЙЛ файлы болгон папкалардын астындагыларынын баары кошулбайт"
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr "ФАЙЛ файлы болгон папкалар кошулбайт"
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr "папкалардын тереңине кирип кетүүнү токтот"
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr "архивди жасабатканда локалдуу файл системасында кал"
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr "папкалардын тереңине кирет (алдынала тандалган)"
 
-#: src/tar.c:654
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
 msgstr "файл аттарынын башындагы '/'терди өчүрбө"
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 "символикалык шилтемелерге барат; алар көрсөткөн файлдарды архивге кошот"
 
-#: src/tar.c:658
+#: src/tar.c:667
 #, fuzzy
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 "символикалык шилтемелерге барат; алар көрсөткөн файлдарды архивге кошот"
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr "МҮЧӨНҮН-АТЫ"
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr "архивдеги МҮЧӨНҮН-АТЫ мүчөсүнөн башта"
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "ДАТА-ЖЕ-ФАЙЛ'дан жаңы болгон файлдарды гана сакта"
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr "ДАТА"
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr "датасы алмашканда гана дата жана убактысын салыштыр"
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr "CONTROL"
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr "өчүрөрдөн мурун копиясын сактап кал, CONTROL версиясын танда"
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr "STRING"
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -1889,93 +1920,93 @@ msgstr ""
 "өчүрөрдөн мурун копиясын сактап калат, жалпы колдонулган суфикс кошулат (бул "
 "суфикс SIMPLE_BACKUP_SUFFIX жолу менен алмаштырылбаган болсо '~' болот)"
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr "Файлдын атынын алмашуулары:"
 
-#: src/tar.c:676
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "чыгаруу учурунда файл аттарынын башындагы N компонентти алып салат"
 
 # выражение кыргызча кандай? СҮЙЛӨМ башка жерде да бар
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr "СҮЙЛӨМ"
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "файлдардын аттарын алмаштыруу үчүн sed replace EXPRESSION колдонгула"
 
 # inclusion, exclusion - Kyrgyz equiv?
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr "Файлдын атына уйкаштыруу опциялары (бардык шаблондорго тиешелүү):"
 
-#: src/tar.c:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr "тамгалардын чоң-кичинесине каралбайт"
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr "шаблондор файлдын атынын башталышы менен уйкаштырылат"
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr ""
 "шаблондор `/' символунан кийин келген ар жерде уйкашына каралат (алдынала "
 "тандалган)"
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr "уйкаштырууда тамгалардын чоң-кичинесине каралат (алдынала тандалган)"
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr "шаблондор колдонулат (иштен алынбаган файлдарга алдынала тандалат)"
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr "кандай жазылса ошондой колдонулат"
 
-#: src/tar.c:699
+#: src/tar.c:709
 msgid "wildcards do not match `/'"
 msgstr "шаблондор `/' символун издебейт"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr "шаблондор `/' символун издейт (алдынала тандалган)"
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr "Маалыматтандыруу:"
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr "ишке алынган файлдарды кеңири маалыматы менен тизмеле"
 
 #  Ушу 'record' сөзүнө жакшы котормо табалбай койдум
 #  'маалымат' деп жазыбаттым эле, бул жерде келишпей калаткен
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "ар N записьтен кийин маалымат берип турат (алдынала 10 болот)"
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr "баардык шилтемелер кошулбай калса билдирүү жазып чыгар"
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr "СИГНАЛ"
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1987,27 +2018,27 @@ msgstr ""
 "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 жана SIGUSR2; SIG префикси жазылбаган "
 "аттарын да колдонсо болот."
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr "файлды алмаштыруу датасын UTC түрүндө көрсөт"
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr "чыккан кеңири маалыматты ФАЙЛ файлына жибер"
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr "ар билдирүүдө архивдин ичиндеги блок номерин көрсөт"
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr "ар ишти аткарууга макулдук сурап тур"
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr "tar'да алдынала коюлган опцияларды көрсөтөт"
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2015,33 +2046,33 @@ msgstr ""
 "тизмелөө же чыгаруу учурунда издөө критериясына жатпаган папкаларды да "
 "тизмелейт"
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr "алмаштыруудан кийин файлдын же архивдин аттарын көрсөтөт"
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr "СТИЛЬ"
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 "аттарга ковычка кошуу стилин тандаңыз; жарактуу СТИЛЬ түрдөрү төмөндө "
 "көрсөтүлөт."
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr "STRING ичинде болгон тамгаларга кошумча ковычка кошот"
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr "STRING ичинде болгон тамгаларга ковычка кошпойт"
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr "Келишүү опциялары:"
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2049,56 +2080,56 @@ msgstr ""
 "жаңы архив жасабатканда --old-archive менен бирдей; чыгарыбатканда --no-same-"
 "owner менен бирдей"
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr "Башка опциялар:"
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr "зыяндуу көрүнгөн опцияларды колдонууга тыюуу салат"
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "`-Acdtrux' опцияларынан бирөөнү гана колдоно аласыңар"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Бирбирине келишпеген кысыштыруу опциялары берилди"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Сигналдын аты белгисиз: %s"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 msgid "Date sample file not found"
 msgstr "Датанын шаблон файлы табылган жок"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Белгисиз %1$s дата форматынын ордуна %2$s коюлат"
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr "%s опциясы: `%s' датасын %s деп алды"
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, c-format
 msgid "%s: file list already read"
 msgstr "%s: файл тизмеси окулган"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: алынган файлдын атында бош тамгалар бар"
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr "--quoting-style опциясы үчүн мындай аргументтер бар:"
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2106,150 +2137,164 @@ msgstr ""
 "\n"
 "*Бул* tar алдынала мындай иштетилет:\n"
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Блок көлөмү жараксыз"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr "Эскертүү: -I опциясы иштетилбейт; балким -j же -T дегиңиз келди эле?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Лентанын узундугу жараксыз"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Бирден көп ченемдөөчү дата бар"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr "кеңири жайлаштыруу форматынын версиясы жарактуу эмес"
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "Бул платформада --atime-preserve='system' опциясы иштебейт"
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint опциясына жазылган аргумент сан эмес"
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: Жараксыз группа"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Опцияда жарабаган укук абалы берилди"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr "Жарабаган номер"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Ээси жарабайт"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Маалымат көлөмү жарабайт"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Маалыматтын көлөмү %d көбөйтүндүсү болушу керек."
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr "Элементтердин саны жарабайт"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr "--to-command опциясы бир эле жолу жазылыш керек"
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Тыгыздык аргументи туура эмес: %s"
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
 msgstr "Түшүнүксүз тыгыздык: `%c'"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, c-format
 msgid "Options `-[0-7][lmh]' not supported by *this* tar"
 msgstr "*Бул* tar `-[0-7][lmh]' опцияларын иштетпейт"
 
-#: src/tar.c:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr "[ФАЙЛ]..."
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "Эски болгон `%c' опциясына параметр керек."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr "Файл тизмеси болбосо --occurrence дегендин мааниси болбойт"
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr "Колдонулган иштетүү абалда --occurrence колдонулбайт"
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 msgid "Multiple archive files require `-M' option"
 msgstr "Бир нече архив файлы болсо `-M' опциясы колдонулушу керек"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "--listed-incremental менен --newer чогу колдонулбайт"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Көп-томдуу архивдерди текшералбай калды"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Кысыштырылган архивдерди текшералбай калды"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Көп-томдуу кысыштырылган архивдерди колдоналбай калды"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 msgid "Cannot concatenate compressed archives"
 msgstr "Кысыштырылган архивдер кошулалбайт"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option POSIX архивдеринде гана колдонула алат"
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Бош архив жаратуудан уялып баш тартып жатат"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "`-Aru' опциялары `-f -' менен келишпейт"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "`-Acdtrux' опцияларынан бирөөнү тандап колдонуңуз"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Ката үчүн ишти бүтүрүү, мурунку каталардан улам кеч аткарылды"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, c-format
@@ -2257,83 +2302,83 @@ msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Файл %s байтка азайды"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "%s сөзү белигсиз же азырынча киргизилген эмес"
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "%s шаблону колдонулбайт"
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "%s ачкыч сөзү алмаштырылбайт"
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr "Кеңейтилген башкы-маалымат бузук: узундук жок"
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr "Кеңейтилген башкы-маалыматтын узундугу жарактуу маанилердин тышында"
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Кеңейтилген башкы-маалыматтын узундугу - %*s - диапазондун тышында"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 "Кеңейтилген башкы-маалымат бузук: узундуктан кийин бош жер (пробел) жок"
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr "Кеңейтилген башкы-маалымат бузук: барабар символу жок"
 
 # newline эмне болот?
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr "Кеңейтилген башкы-маалымат бузук: жаңы сап жок"
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr "Кеңейтилген башкы-маалыматта белгисиз `%s' сөзү каралбайт"
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "%s=%s түрүндөгү кеңейтилген башкы-маалымат %s..%s диапазондун тышында"
 
-#: src/xheader.c:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Кеңейтилген башкы-маалымат бузук: %s=%s туура эмес"
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Кеңейтилген башкы-маалымат бузук: %s=%s ашыкча көп"
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 "Кеңейтилген башкы-маалымат бузук: туура эмес %s: күтүлбөгөн жерде бул - %c - "
 "бөлүүчү символ бар"
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Кеңейтилген башкы-маалымат бузук: туура эмес %s: так санда маани бар"
@@ -2507,105 +2552,122 @@ msgstr "Сан жарактуу маанилердин тышында: %s"
 msgid "Negative size: %s"
 msgstr "Көлөмү терс сан: %s"
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) аткарылбай калды"
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "`%s' жанындагы санды окубатканда ката чыкты"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, c-format
 msgid "Unknown date format"
 msgstr "Датанын форматы түшүнүксүз"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr "[АРГУМЕНТТЕР...]"
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
 msgstr "`%s' ачылбай жатат"
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 msgid "cannot seek"
 msgstr "издөө болбой калды"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr "файлдын атында бош тамга бар"
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "кеңири(чоң) файлдарды стандарт чыгарууга жибералбайт, --file опциясын "
 "колдонуңуз"
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "туура эмес маска (`%s' жанында)"
 
 # фиелд деген кандай болот?
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Белгисиз поле `%s'"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "`%s'ке убакыт аталган жок"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Команда толук аткарылды\n"
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Команда %d статусу менен аткарылбай калды\n"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Команда %d сигналы менен жабылды\n"
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Команда %d сигналы менен токтотулду\n"
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Команда core dump менен бүттү\n"
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr "Команда жабылды\n"
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat опциясы менен файл аттары жазылыш керек"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr "аргументтердин саны көп"
 
+#, fuzzy
+#~ msgid "cancel effect of the previous --transform-links option"
+#~ msgstr "--delay-directory-restore опциясынын эффектин токтотот"
+
 #~ msgid "block size"
 #~ msgstr "бир блоктун көлөмү"
 
 #~ msgid "[.]NUMBER"
 #~ msgstr "[.]N"
+
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Ката үчүн ишти бүтүрүү, мурунку каталардан улам кеч аткарылды"
index 96df7b556a00a9f18a2174336f4293d750acc732..bb798e84958a2d904660a58d03dcc164fc40f998 100644 (file)
Binary files a/po/ms.gmo and b/po/ms.gmo differ
index fc1842ed4d8c965b8bc6bb9f2467924c9936391f..93f7a888779944937aab585444417f56dda9ea3d 100644 (file)
--- a/po/ms.po
+++ b/po/ms.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.13.25\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\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"
@@ -80,7 +80,7 @@ msgstr ""
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr "Cuba '%s --help' untuk maklumat lanjut.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, fuzzy, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
@@ -91,15 +91,15 @@ msgstr ""
 msgid "Unknown system error"
 msgstr "Ralat sistem tidak diketahui"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr ""
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr ""
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr ""
@@ -112,11 +112,11 @@ msgstr ""
 msgid "SECS"
 msgstr ""
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr ""
 
@@ -134,7 +134,7 @@ msgstr "%s: opsyen `%s' memerlukan hujah\n"
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr ""
 
@@ -193,16 +193,16 @@ msgstr "%s: opsyen `-W %s' adalah kabur\n"
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: opsyen `-W %s' tidak mengizinkan hujah\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "memori keletihan"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Tak dapat tukar direktori kerja"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Tak dapat simpan direktori kerja"
@@ -323,11 +323,23 @@ msgstr "`"
 msgid "'"
 msgstr "'"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr ""
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr ""
 
@@ -529,105 +541,105 @@ msgstr "Akhir fail tak matang"
 msgid "Garbage command"
 msgstr "Arahan sampah"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Ia nampaknya bukan seperti arkib tar"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 #, fuzzy
 msgid "Total bytes written"
 msgstr "Jumlah byte ditulis: %s (%sB, %sB/s)\n"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr ""
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, fuzzy, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Jumlah byte ditulis: %s (%sB, %sB/s)\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(paip)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "Nilai tidak sah bagi record_size"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Tiada nama arkib diberi"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Tak dapat menentusahkan arkib stdin/stdout"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr ""
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Tak dapat mengemaskini arkib termampat"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "Pada permulaan pita, keluar sekarang"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Terlalu banyak ralat, keluar"
 
-#: src/buffer.c:678
-#, 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:698
+#: src/buffer.c:695
 #, 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:771
+#: src/buffer.c:716
+#, 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:793
 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:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: mengandungi nombor volum yg tidak sah"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 #, fuzzy
 msgid "Volume number overflow"
 msgstr "Nombor volum melimpah"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, 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:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "EOF dimana maklumbalas pengguna dijangka"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "AMARAN: Arkib tidak lengkap"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -639,69 +651,74 @@ msgstr ""
 " !          Spawn  subshell\n"
 " ?          Cetak senarai ini\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Tiada volum baru; keluar.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, fuzzy, c-format
 msgid "%s command failed"
 msgstr "Arahan '%s' gagal"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, 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:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s tidak bersambung pada volum ini"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s adalah salah saiz (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Volum ini tidak dalam turutan"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arkib tidak dilabelkan supaya memadan %s"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Volum %s tidak sepadan %s"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 
+#: src/buffer.c:1619
+msgid "write did not end on a block boundary"
+msgstr ""
+
 #: src/compare.c:96
 #, fuzzy, c-format
 msgid "Could only read %lu of %lu byte"
@@ -713,8 +730,8 @@ msgstr[1] "Hanya boleh membaca  %lu drpd  %lu byte"
 msgid "Contents differ"
 msgstr "Kandungan berlainan"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "EOF tanpa diduga pada arkib"
 
@@ -831,7 +848,7 @@ msgstr[1] "%s: Fail mengucup sebanyak %s byte; pad dengan sifar"
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: fail adalah pada sistemfail lain; tidak dilonggokkan"
 
-#: src/create.c:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr ""
 
@@ -860,7 +877,7 @@ msgstr "%s: fail adalah arkib; tidak dilonggokkan"
 msgid "%s: File removed before we read it"
 msgstr "%s: Fail dibuang sebelum kami membacanya"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr ""
 
@@ -911,168 +928,168 @@ msgstr "%s: Direktori ditukarnama sebelum statusnya boleh diekstrak"
 msgid "Extracting contiguous files as regular files"
 msgstr "Mengekstrak fail bersambung sebagai fail biasa"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Cuba mengekstrak pautan simbolik sebagai pautan keras"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Membaca %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, 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:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "Penghujungan tanpa diduga data imej PNM"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, fuzzy, 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:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr ""
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Tak dapat backup fail ini"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, fuzzy, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s: Tak dapat menukarnama ke %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "Ralat adalah tidak boleh dipulihkan: keluar sekarang"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, fuzzy, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Direktori telah ditukarnama"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Direktori telah ditukarnama"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Direktori adalah baru"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Setem masa tidak sah"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 #, fuzzy
 msgid "Invalid modification time (seconds)"
 msgstr "Mod tidak sah diberi pada opsyen"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr ""
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Nombor peranti tidak sah"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Nombot inod tidak sah"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr ""
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr ""
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "EOF tanpa diduga pada arkib"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr ""
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr ""
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr ""
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr ""
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr ""
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, fuzzy, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Tak dapat memperuntukkan memori bagi faktor pemblokan %d"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr ""
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, 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:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Memadam %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: tak dapat buang"
@@ -1092,86 +1109,86 @@ msgstr "blok %s: ** Blok TIADA **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Akhir Fail **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, 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:728
+#: src/list.c:737
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Nilai oktal arkib %.*s diluar julat %s"
 
-#: src/list.c:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr ""
 
-#: src/list.c:763
+#: src/list.c:772
 #, 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:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, 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:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr "Pautan ke %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr "jenis fail tak diketahui %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr ""
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr ""
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Pengepala Volum--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Bersambung pada byte %s--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Mencipta direktori:"
 
@@ -1208,24 +1225,24 @@ msgstr "saluran antaraproses"
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr ""
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr ""
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Tak dijumpai pada arkib"
 
-#: src/names.c:621
+#: src/names.c:615
 #, fuzzy, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Tak dijumpai pada arkib"
@@ -1250,7 +1267,7 @@ msgid ""
 "Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
 msgstr ""
 
-#: src/tar.c:334
+#: src/tar.c:336
 #, fuzzy
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
@@ -1270,7 +1287,7 @@ msgstr ""
 "verbose.\n"
 "  %s -xf arkib.tar           # Ekstrak semua fail drpd arkib.tar.\n"
 
-#: src/tar.c:343
+#: src/tar.c:345
 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 "
@@ -1282,87 +1299,87 @@ msgid ""
 "  never, simple   always make simple backups\n"
 msgstr ""
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr ""
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr ""
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr ""
 
-#: src/tar.c:377
+#: src/tar.c:379
 #, fuzzy
 msgid "create a new archive"
 msgstr "EOF tanpa diduga pada arkib"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr ""
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr ""
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr ""
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr ""
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr ""
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr ""
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr ""
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr ""
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr ""
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr ""
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1370,559 +1387,572 @@ msgid ""
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr ""
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr ""
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr ""
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr ""
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr ""
 
-#: src/tar.c:435
+#: src/tar.c:437
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 
-#: src/tar.c:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr ""
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr ""
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr ""
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr ""
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr ""
 
-#: src/tar.c:454
+#: src/tar.c:456
 #, fuzzy
 msgid "extract files to standard output"
 msgstr "Ralat ketika menulis ke output piawai"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr ""
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr ""
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr ""
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr ""
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr ""
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr ""
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:472
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr ""
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr ""
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr ""
 
-#: src/tar.c:477
+#: src/tar.c:479
 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:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr ""
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr ""
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr ""
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr ""
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr ""
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr ""
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr ""
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr ""
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr ""
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
 msgstr ""
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr ""
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr ""
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr ""
 
-#: src/tar.c:535
+#: src/tar.c:537
 #, fuzzy
 msgid "create/list/extract multi-volume archive"
 msgstr "Tak dapat menentusah arkib multi-volume"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr ""
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr ""
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr ""
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr ""
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr ""
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr ""
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr ""
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr ""
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr ""
 
-#: src/tar.c:561
+#: src/tar.c:563
 #, fuzzy
 msgid "Archive format selection:"
 msgstr "opsyen format arkib konflik"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr ""
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr ""
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr ""
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr ""
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr ""
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr ""
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr ""
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr ""
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr ""
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr ""
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr ""
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
 
-#: src/tar.c:592
+#: src/tar.c:594
 #, fuzzy
 msgid "Compression options:"
 msgstr "Opsyen mampatan konflik"
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:596
+#: src/tar.c:598
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr ""
 
-#: src/tar.c:598
+#: src/tar.c:603
 #, fuzzy
 msgid "filter the archive through gzip"
 msgstr "%s: fail adalah arkib; tidak dilonggokkan"
 
-#: src/tar.c:602
+#: src/tar.c:607
 #, fuzzy
 msgid "filter the archive through compress"
 msgstr "%s: fail adalah arkib; tidak dilonggokkan"
 
-#: src/tar.c:605
+#: src/tar.c:610
 #, fuzzy
 msgid "filter the archive through lzma"
 msgstr "%s: fail adalah arkib; tidak dilonggokkan"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "%s: fail adalah arkib; tidak dilonggokkan"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr ""
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr ""
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr ""
 
-#: src/tar.c:615
+#: src/tar.c:622
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 
-#: src/tar.c:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr ""
 
-#: src/tar.c:617
+#: src/tar.c:624
 #, fuzzy
 msgid "change to directory DIR"
 msgstr "Tak dapat tukar direktori kerja"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr ""
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr ""
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr ""
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr ""
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr ""
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr ""
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr ""
 
-#: src/tar.c:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/tar.c:639
+#: src/tar.c:648
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 
-#: src/tar.c:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
 msgstr ""
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr ""
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr ""
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr ""
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr ""
 
-#: src/tar.c:654
+#: src/tar.c:663
 #, fuzzy
 msgid "don't strip leading `/'s from file names"
 msgstr "Membuang awalan  `%.*s' drpd nama ahli"
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:658
+#: src/tar.c:667
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr ""
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr ""
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr ""
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr ""
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr ""
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr ""
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:676
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/tar.c:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr ""
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr ""
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr ""
 
-#: src/tar.c:699
+#: src/tar.c:709
 #, fuzzy
 msgid "wildcards do not match `/'"
 msgstr "Volum %s tidak sepadan %s"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr ""
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1930,267 +1960,281 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr ""
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr ""
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr ""
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr ""
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr ""
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Anda tak boleh nyatakan lebih drpd satu opsyen `-Acdtrux'"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Opsyen mampatan konflik"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr "jenis fail tak diketahui %s\n"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 #, fuzzy
 msgid "Date sample file not found"
 msgstr "Fail tarikh tidak dijumpai"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Mengganti %s bagi format tarikh tak diketahui %s"
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr ""
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, fuzzy, c-format
 msgid "%s: file list already read"
 msgstr "%s: fail adalah arkib; tidak dilonggokkan"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr ""
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Faktor pemblokan tidak sah"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr "Amaran: opsyen -I tidak disokong; mungkin and amaksudkan -j atau -T?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "panjang pita tidak sah"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr ""
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: Kumpulan tidak sah"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Mod tidak sah diberi pada opsyen"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 #, fuzzy
 msgid "Invalid number"
 msgstr "Nombot inod tidak sah"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Pemilik tidak sah"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Saiz rekod tidak sah"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Saiz rekod mesti dalam gandaan %d."
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 #, fuzzy
 msgid "Invalid number of elements"
 msgstr "panjang pita tidak sah"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
 msgstr ""
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, 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:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr ""
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "OPsyen lama `%c' memerlukan hujah."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr ""
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 #, fuzzy
 msgid "Multiple archive files require `-M' option"
 msgstr "Fail akrib beraneka memerlukan opsyen `-M'"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "Tak boleh gabung  --listed-incremental dengan --newer"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Tak dapat menentusah arkib multi-volume"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Tak dapat menentusahkan arkib termampat"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Tak dapat menggunakan arkib multi-volume termampat"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "Tak dapat mengemaskini arkib termampat"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Secara dayus enggan mencipta arkib kosong"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "Opsyen `-Aru' tak serasi dengan  `-f -'"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Anda mesti nyatakan satu drpd opsyen `-Acdtrux'"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Ralat keluar dilewatkan drpd ralat terdahulu"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, fuzzy, c-format
@@ -2199,79 +2243,79 @@ msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Fail mengecil sebanyak %s byte"
 msgstr[1] "%s: Fail mengecil sebanyak %s byte"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr ""
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr ""
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr ""
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr ""
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr ""
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, fuzzy, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Rentetan %s base-64 ditandatangani arkibadalah diluar julat %s "
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr ""
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr ""
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr ""
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, 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:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr ""
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr ""
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2434,97 +2478,107 @@ msgstr "Nombor inod diluar julat"
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Ralat sistem tidak diketahui"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
 msgstr ""
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 #, fuzzy
 msgid "cannot seek"
 msgstr "Tak dapat tutup"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr "jenis fail tak diketahui %s\n"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "%s: Tak dapat rayau ke %s"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr ""
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, fuzzy, c-format
 msgid "Command failed with status %d\n"
 msgstr "Anak mati dengan isyarat %d"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr ""
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, fuzzy, c-format
 msgid "--stat requires file names"
 msgstr "Nama fail modul"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr ""
@@ -2707,6 +2761,9 @@ msgstr ""
 #~ msgid "Written by John Gilmore and Jay Fenlason."
 #~ msgstr "Ditulis oleh John Gilmore dan Jay Fenlason."
 
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Ralat keluar dilewatkan drpd ralat terdahulu"
+
 #~ msgid ""
 #~ "If a long option shows an argument as mandatory, then it is mandatory\n"
 #~ "for the equivalent short option also.\n"
index fc9ab2c610f29cf177541bdffc9db26c3547ebf3..8850d28a8b6f0a73ee371ffebb49fcd0d4e060b7 100644 (file)
Binary files a/po/nb.gmo and b/po/nb.gmo differ
index b20c991defe2189182dde6b4222ee4c420a7035b..3352f1d244a855221dda1285837eff9aeedc3d10 100644 (file)
--- a/po/nb.po
+++ b/po/nb.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: GNU tar 1.12\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\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"
@@ -80,7 +80,7 @@ msgstr ""
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr "Tast «%s --help» for mer informasjon.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
@@ -89,15 +89,15 @@ msgstr ""
 msgid "Unknown system error"
 msgstr "Unkjent systemfeil"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr ""
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr ""
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr ""
@@ -110,11 +110,11 @@ msgstr ""
 msgid "SECS"
 msgstr ""
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr ""
 
@@ -132,7 +132,7 @@ msgstr ""
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr ""
 
@@ -191,17 +191,17 @@ msgstr ""
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "Gammelt flagg «%c» behøver et argument."
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 #, fuzzy
 msgid "memory exhausted"
 msgstr "Minne oppbrukt"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Kunne ikke finne navnet på aktiv filkatalog"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr ""
@@ -322,11 +322,23 @@ msgstr ""
 msgid "'"
 msgstr ""
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr ""
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr ""
 
@@ -522,110 +534,110 @@ msgstr "For tidlig filslutt"
 msgid "Garbage command"
 msgstr "Ugyldig kommando"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Dette ser ikke ut som et tar-arkiv"
 
 #
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 #, fuzzy
 msgid "Total bytes written"
 msgstr "Totalt antall bytes skrevet: "
 
 #
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 #, fuzzy
 msgid "Total bytes read"
 msgstr "Totalt antall bytes skrevet: "
 
 #
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, fuzzy, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Totalt antall bytes skrevet: "
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr ""
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "Ugyldig verdi for record_size"
 
 #
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Arkivnavn er ikke oppgitt"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Kan ikke verifisere stdin/stdout-arkiv"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr ""
 
 #
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Kan ikke oppdatere komprimerte arkiver"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "På begynnelsen av båndet, avslutter nå"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "For mange feil, avslutter"
 
-#: src/buffer.c:678
-#, c-format
-msgid "Unaligned block (%lu byte) in archive"
-msgid_plural "Unaligned block (%lu bytes) in archive"
-msgstr[0] ""
-msgstr[1] ""
-
-#: src/buffer.c:698
+#: src/buffer.c:695
 #, fuzzy, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Blokkstørrelse = %d enheter"
 msgstr[1] "Blokkstørrelse = %d enheter"
 
-#: src/buffer.c:771
+#: src/buffer.c:716
+#, c-format
+msgid "Unaligned block (%lu byte) in archive"
+msgid_plural "Unaligned block (%lu bytes) in archive"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/buffer.c:793
 #, fuzzy
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "Kunne ikke gå tilbake i arkivfilen.  Den kan være uleselig uten -i"
 
-#: src/buffer.c:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr ""
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr ""
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, fuzzy, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "\aGjør klar volum nummer %d for %s og trykk return: "
 
-#: src/buffer.c:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "EOF der svar fra bruker var forventet"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "ADVARSEL: Arkivet er ufullstendig"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -637,69 +649,75 @@ msgstr ""
 " !          Start et shell\n"
 " ?          Skriv denne listen\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Ikke nytt volum; avslutter.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, c-format
 msgid "%s command failed"
 msgstr ""
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, 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:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s fortsetter ikke i dette volumet"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, fuzzy, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s har feil størrelse (%ld != %ld + %ld)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Dette volumet kommer ute av rekkefølge"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, fuzzy, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arkivet er ikke navngitt for å passe med «%s»"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, fuzzy, c-format
 msgid "Volume %s does not match %s"
 msgstr "Volumet «%s» stemmer ikke overens med «%s»"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 
+#: src/buffer.c:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "Arkiv %s sluttet ikke ved en blokkgrense"
+
 #: src/compare.c:96
 #, fuzzy, c-format
 msgid "Could only read %lu of %lu byte"
@@ -712,8 +730,8 @@ msgstr[1] "Kunne bare lese %d av %ld bytes"
 msgid "Contents differ"
 msgstr "Modus er ulik"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Uventet filslutt i arkivet"
 
@@ -832,7 +850,7 @@ msgstr[1] "Filen %s krympet med %d bytes, fyller ut med nuller"
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: På et annet filesystem.  Ikke lagret"
 
-#: src/create.c:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 #, fuzzy
 msgid "contents not dumped"
 msgstr " (minnet lagret)"
@@ -862,7 +880,7 @@ msgstr "%s er arkivet; ikke lagret"
 msgid "%s: File removed before we read it"
 msgstr ""
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr ""
 
@@ -913,170 +931,170 @@ msgstr ""
 msgid "Extracting contiguous files as regular files"
 msgstr "Ekstraherer sammenhengende filer som vanlige filer"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Forsøker å ekstrahere symbolske linker som harde linker"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Leser %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, fuzzy, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "Kan ikke ekstrahere «%s» -- filen fortsetter fra et tidligere volum"
 
-#: src/extract.c:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "Uventet filslutt i arkivfilen"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, fuzzy, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
 msgstr "Ukjent filtype «%c» for %s, ekstrahert som en vanlig fil"
 
-#: src/extract.c:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr ""
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Kunne ikke lage sikkerhetskopi av denne filen"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Kan ikke endre navn på %s til %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr ""
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, fuzzy, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "Filkatalogen %s har endret navn"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, fuzzy, c-format
 msgid "%s: Directory has been renamed"
 msgstr "Filkatalogen %s har endret navn"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, fuzzy, c-format
 msgid "%s: Directory is new"
 msgstr "Filkatalogen %s er ny"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr ""
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 #, fuzzy
 msgid "Invalid modification time (seconds)"
 msgstr "Ugyldig modus gitt i flagg"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr ""
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr ""
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr ""
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr ""
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 #, fuzzy
 msgid "Read error in snapshot file"
 msgstr "Lesefeil på %s"
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "Uventet filslutt i arkivfilen"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 #, fuzzy
 msgid "Unexpected field value in snapshot file"
 msgstr "Uventet filslutt i arkivfilen"
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr ""
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr ""
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr ""
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr ""
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, fuzzy, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Kan ikke gå til filkatalogen %s"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr ""
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr ""
 
-#: src/incremen.c:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Sletter %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, fuzzy, c-format
 msgid "%s: Cannot remove"
 msgstr "Kan ikke slette %s"
@@ -1096,86 +1114,86 @@ msgstr "blokk %10ld: ** Blokk med NUL-er **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "blokk %10ld: ** Slutt på fil **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, fuzzy, c-format
 msgid "block %s: "
 msgstr "blokk %10ld: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, 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:728
+#: src/list.c:737
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr ""
 
-#: src/list.c:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr ""
 
-#: src/list.c:763
+#: src/list.c:772
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr ""
 
-#: src/list.c:794
+#: src/list.c:803
 #, fuzzy, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Dette volumet kommer ute av rekkefølge"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr ""
 
-#: src/list.c:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " link til %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, fuzzy, c-format
 msgid " unknown file type %s\n"
 msgstr " ukjent filtype «%c»\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr ""
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr ""
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Volumhode--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, fuzzy, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Fortsetter ved byte %ld--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Lager filkatalog:"
 
@@ -1214,24 +1232,24 @@ msgstr ""
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr ""
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr ""
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Finnes ikke i arkivet"
 
-#: src/names.c:621
+#: src/names.c:615
 #, fuzzy, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Finnes ikke i arkivet"
@@ -1256,7 +1274,7 @@ msgid ""
 "Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
 msgstr ""
 
-#: src/tar.c:334
+#: src/tar.c:336
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1267,7 +1285,7 @@ msgid ""
 "  tar -xf archive.tar          # Extract all files from archive.tar.\n"
 msgstr ""
 
-#: src/tar.c:343
+#: src/tar.c:345
 #, fuzzy
 msgid ""
 "The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
@@ -1291,87 +1309,87 @@ msgstr ""
 "                  ellers enkle\n"
 "  never, simple   lag enkle sikkerhetskopier\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr ""
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr ""
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr ""
 
-#: src/tar.c:377
+#: src/tar.c:379
 #, fuzzy
 msgid "create a new archive"
 msgstr "Uventet filslutt i arkivet"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr ""
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr ""
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr ""
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr ""
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr ""
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr ""
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr ""
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr ""
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr ""
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr ""
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1379,558 +1397,571 @@ msgid ""
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr ""
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr ""
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr ""
 
-#: src/tar.c:431
+#: src/tar.c:433
 #, fuzzy
 msgid "remove files after adding them to the archive"
 msgstr "Tar bort enhetsnavn fra navn i arkivet"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr ""
 
-#: src/tar.c:435
+#: src/tar.c:437
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 
-#: src/tar.c:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr ""
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr ""
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr ""
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr ""
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr ""
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
 msgstr ""
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr ""
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr ""
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr ""
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr ""
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr ""
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr ""
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:472
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr ""
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr ""
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr ""
 
-#: src/tar.c:477
+#: src/tar.c:479
 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:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr ""
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr ""
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr ""
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr ""
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr ""
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr ""
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr ""
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr ""
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr ""
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
 msgstr ""
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr ""
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr ""
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr ""
 
-#: src/tar.c:535
+#: src/tar.c:537
 #, fuzzy
 msgid "create/list/extract multi-volume archive"
 msgstr "Kan ikke verifisere arkiv som går over flere volum"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr ""
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr ""
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr ""
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr ""
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr ""
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr ""
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr ""
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr ""
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr ""
 
-#: src/tar.c:561
+#: src/tar.c:563
 #, fuzzy
 msgid "Archive format selection:"
 msgstr "Arkivér til stdin"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr ""
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr ""
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr ""
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr ""
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr ""
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr ""
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr ""
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr ""
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr ""
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr ""
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr ""
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
 
-#: src/tar.c:592
+#: src/tar.c:594
 #, fuzzy
 msgid "Compression options:"
 msgstr "Konflikt i kompresjonsflagg"
 
-#: src/tar.c:594
+#: src/tar.c:596
 #, fuzzy
 msgid "use archive suffix to determine the compression program"
 msgstr "Kan ikke skrive til komprimeringsprogrammet"
 
-#: src/tar.c:596
+#: src/tar.c:598
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr ""
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr ""
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr ""
 
-#: src/tar.c:605
+#: src/tar.c:610
 msgid "filter the archive through lzma"
 msgstr ""
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "%s er arkivet; ikke lagret"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr ""
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr ""
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr ""
 
-#: src/tar.c:615
+#: src/tar.c:622
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 
-#: src/tar.c:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr ""
 
-#: src/tar.c:617
+#: src/tar.c:624
 #, fuzzy
 msgid "change to directory DIR"
 msgstr "Kan ikke gå til filkatalogen %s"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr ""
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr ""
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr ""
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr ""
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr ""
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr ""
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr ""
 
-#: src/tar.c:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/tar.c:639
+#: src/tar.c:648
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 
-#: src/tar.c:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
 msgstr ""
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr ""
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr ""
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr ""
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr ""
 
 #
-#: src/tar.c:654
+#: src/tar.c:663
 #, fuzzy
 msgid "don't strip leading `/'s from file names"
 msgstr "Tar bort ledende «/» fra absolutte linker"
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:658
+#: src/tar.c:667
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr ""
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr ""
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr ""
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr ""
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr ""
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr ""
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:676
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/tar.c:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr ""
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr ""
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr ""
 
-#: src/tar.c:699
+#: src/tar.c:709
 #, fuzzy
 msgid "wildcards do not match `/'"
 msgstr "Volumet «%s» stemmer ikke overens med «%s»"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr ""
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1938,269 +1969,283 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr ""
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr ""
 
-#: src/tar.c:730
+#: src/tar.c:740
 #, fuzzy
 msgid "ask for confirmation for every action"
 msgstr "Kan ikke lese bekreftelse fra brukeren"
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr ""
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr ""
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Du kan ikke angi mer enn ett av «-Acdtrux»-flaggene"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Konflikt i kompresjonsflagg"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr "Ukjent mønster «%s»"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 msgid "Date sample file not found"
 msgstr ""
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr ""
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr ""
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, c-format
 msgid "%s: file list already read"
 msgstr ""
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr ""
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr ""
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr ""
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr ""
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Mer enn én grense-dato"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr ""
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Ugyldig modus gitt i flagg"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr ""
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 #, fuzzy
 msgid "Invalid owner"
 msgstr "Ugyldig eier gitt i flagg"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 #, fuzzy
 msgid "Invalid record size"
 msgstr "Ugyldig verdi for record_size"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Blokkstørrelse må være delbart på %d."
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr ""
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, fuzzy, c-format
 msgid "Unknown density: `%c'"
 msgstr "Ukjent mønster «%s»"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, c-format
 msgid "Options `-[0-7][lmh]' not supported by *this* tar"
 msgstr "Flaggene «-[0-7][lmh]» støttes ikke av *denne* implementasjonen av tar"
 
-#: src/tar.c:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr ""
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "Gammelt flagg «%c» behøver et argument."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr ""
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 #, fuzzy
 msgid "Multiple archive files require `-M' option"
 msgstr "Ved flere arkivfiler behøves «-M»-flagget"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr ""
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Kan ikke verifisere arkiv som går over flere volum"
 
 #
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Kan ikke verifisere komprimerte arkiver"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Kan ikke bruke komprimerte arkiv som går over flere volum"
 
 #
-#: src/tar.c:2281
+#: src/tar.c:2320
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "Kan ikke oppdatere komprimerte arkiver"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "For feig til å lage et tomt arkiv"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "Flaggene «-Aru» er inkompatible med «-f -»"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Du må angi ett av «-Acdtrux»-flaggene"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Utsatt feil-avslutning for tidligere feil"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, fuzzy, c-format
@@ -2209,79 +2254,79 @@ 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!)"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr ""
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr ""
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr ""
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr ""
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr ""
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr ""
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr ""
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr ""
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr ""
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr ""
 
-#: src/xheader.c:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr ""
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr ""
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2444,97 +2489,107 @@ msgstr ""
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Unkjent systemfeil"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, fuzzy, c-format
 msgid "cannot open `%s'"
 msgstr "Kan ikke åpne %s"
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 #, fuzzy
 msgid "cannot seek"
 msgstr "Kan ikke eksekvere %s"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr "Ukjent mønster «%s»"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "Kan ikke gjøre «stat» på %s"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr ""
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr ""
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr ""
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, fuzzy, c-format
 msgid "--stat requires file names"
 msgstr "--Ødelagte filnavn--\n"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr ""
@@ -2606,9 +2661,6 @@ msgstr ""
 #~ msgid "WARNING: No volume header"
 #~ msgstr "ADVARSEL: Manglende volumhode"
 
-#~ msgid "Archive %s EOF not on block boundary"
-#~ msgstr "Arkiv %s sluttet ikke ved en blokkgrense"
-
 #~ msgid "Only read %d bytes from archive %s"
 #~ msgstr "Leste bare %d bytes fra arkivet %s"
 
@@ -3142,6 +3194,9 @@ 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"
index bd943abad4e23ee1bc85899eda7b87e0b58f3312..97b751bed96ba566c5316664d42781f26af0c073 100644 (file)
Binary files a/po/nl.gmo and b/po/nl.gmo differ
index 415027524ea649dcf5742c8dc043f5a0fc51eebc..46ba90fd5ac0d642d12c6fbafc74a53a309d3051 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -1,4 +1,4 @@
-# Translation of tar-1.19.90 to Dutch.
+# Dutch translations for tar.
 # Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 # This file is distributed under the same license as the tar package.
 #
@@ -6,10 +6,10 @@
 # Benno Schulenberg <benno@vertaalt.nl>, 2005, 2006, 2007, 2008.
 msgid ""
 msgstr ""
-"Project-Id-Version: tar-1.19.90\n"
+"Project-Id-Version: tar-1.20\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
-"PO-Revision-Date: 2008-02-09 22:27+0100\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
+"PO-Revision-Date: 2008-04-15 23:22+0200\n"
 "Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
 "MIME-Version: 1.0\n"
@@ -83,7 +83,7 @@ msgstr " [OPTIE...]"
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr "Typ '%s --help' of '%s --usage' voor meer informatie.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
@@ -94,15 +94,15 @@ msgstr ""
 msgid "Unknown system error"
 msgstr "Onbekende systeemfout"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr "deze hulptekst tonen"
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
-msgstr "een kort gebruiksbericht tonen"
+msgstr "een korte gebruikssamenvatting tonen"
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr "NAAM"
@@ -115,11 +115,11 @@ msgstr "de programmanaam instellen"
 msgid "SECS"
 msgstr "SECONDEN"
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr "dit aantal seconden pauzeren (standaard 3600)"
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr "programmaversie tonen"
 
@@ -137,7 +137,7 @@ msgstr "%s: Te veel argumenten\n"
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "**Interne programmafout**: optie had herkend moeten worden!?"
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr "schrijffout"
 
@@ -196,16 +196,16 @@ msgstr "%s: optie '-W %s' is niet eenduidig\n"
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: optie '-W %s' staat geen argument toe\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "onvoldoende geheugen beschikbaar"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, c-format
 msgid "unable to record current working directory"
 msgstr "kan de huidige werkmap niet vastleggen"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "kan niet terugkeren naar de initiële werkmap"
@@ -324,11 +324,23 @@ msgstr "‘"
 msgid "'"
 msgstr "’"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
-msgstr "^[jJ]"
-
-#: lib/rpmatch.c:72
+msgstr "^[jJyY]"
+
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr "^[nN]"
 
@@ -553,103 +565,103 @@ msgstr "Voortijdig einde van bestand"
 msgid "Garbage command"
 msgstr "Ongeldige opdracht"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Dit ziet er niet uit als een tar-archief"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 msgid "Total bytes written"
 msgstr "Totaal aantal geschreven bytes"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr "Totaal aantal gelezen bytes"
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Totaal aantal verwijderde bytes: %s\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(pijp)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "Ongeldige waarde voor recordgrootte"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Geen archiefnaam opgegeven"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Kan archieven op standaardinvoer of -uitvoer niet verifiëren"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Archief is gecomprimeerd.  Gebruik optie '%s'."
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Kan ingepakte archieven niet bijwerken"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "Aan het begin van de band -- tar sluit nu af."
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Te veel fouten -- tar sluit nu af."
 
-#: src/buffer.c:678
-#, 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:698
+#: src/buffer.c:695
 #, 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:771
+#: src/buffer.c:716
+#, 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:793
 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:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek() is niet gestopt op een recordgrens"
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: bevat een ongeldig deelnummer"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Deelnummer-overloop"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, 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:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "een lege tekst, terwijl gebruikersinvoer werd verwacht"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "WAARSCHUWING: Archief is onvolledig"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -661,64 +673,65 @@ msgstr ""
 " q           tar afbreken\n"
 " y of Enter  doorgaan\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !           een subshell starten\n"
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?           dit lijstje tonen\n"
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Geen nieuw deel -- tar sluit af.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr "Geen bestandsnaam opgegeven.  Probeer het nog eens.\n"
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Ongeldige invoer.  Typ ? voor hulp.\n"
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, c-format
 msgid "%s command failed"
 msgstr "Opdracht %s is mislukt"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, 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:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s gaat niet verder in dit deel"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s heeft een verkeerde grootte (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Dit deel valt buiten de reeks"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Archief is niet gemerkt als overeenkomend met %s"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Deel %s komt niet overeen met %s"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -726,6 +739,11 @@ msgstr ""
 "%s: bestandsnaam is te lang om opgeslagen te worden in een GNU-meerdelenkop; "
 "afgekapt"
 
+#: src/buffer.c:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "rmtlseek() is niet gestopt op een recordgrens"
+
 #: src/compare.c:96
 #, c-format
 msgid "Could only read %lu of %lu byte"
@@ -737,8 +755,8 @@ msgstr[1] "Kon slechts %lu van %lu bytes lezen"
 msgid "Contents differ"
 msgstr "Inhouden verschillen"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Onverwacht einde-van-bestand in archief"
 
@@ -856,7 +874,7 @@ msgstr[1] "%s: Bestand is gekrompen met %s bytes; aangevuld met nullen"
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: bestand staat op een ander bestandssysteem; niet gearchiveerd"
 
-#: src/create.c:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr "inhoud niet gearchiveerd"
 
@@ -885,9 +903,9 @@ msgstr "%s: bestand is het archief zelf; niet gearchiveerd"
 msgid "%s: File removed before we read it"
 msgstr "%s: Bestand werd verwijderd voordat het gelezen kon worden"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
-msgstr "map niet gearchiveerd"
+msgstr "map is niet gearchiveerd"
 
 #: src/create.c:1659
 #, c-format
@@ -936,168 +954,168 @@ msgstr "%s: Map werd hernoemd voordat de status ervan kon worden bepaald"
 msgid "Extracting contiguous files as regular files"
 msgstr "Aaneengesloten bestanden worden uitgepakt als gewone bestanden"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr ""
 "Poging om symbolische koppelingen als harde koppelingen uit te pakken..."
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Lezen van %s...\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Kan niet uitpakken -- bestand gaat door in een ander deel"
 
-#: src/extract.c:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 msgid "Unexpected long name header"
 msgstr "Onverwachte lange-naamkop"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
 msgstr "%s: Onbekende bestandssoort '%c'; uitgepakt als gewoon bestand"
 
-#: src/extract.c:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Huidige %s is nieuwer of even oud"
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Kan geen reservekopie van dit bestand maken"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Kan %s niet tot %s hernoemen"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "Fout is niet herstelbaar -- tar sluit nu af."
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Map is hernoemd van %s"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Map is hernoemd"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Map is nieuw"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Ongeldig tijdsstempel"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 msgid "Invalid modification time (seconds)"
 msgstr "Ongeldige wijzigingstijd (seconden)"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr "Ongeldige wijzigingstijd (nanoseconden)"
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Ongeldig apparaatnummer"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Ongeldig inode-nummer"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr "Veld is te lang, tijdens lezen van snapshot-bestand"
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr "Leesfout tijdens lezen van snapshot-bestand"
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 msgid "Unexpected EOF in snapshot file"
 msgstr "Onverwacht einde-van-bestand in snapshot-bestand"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr "Onverwachte veldwaarde in snapshot-bestand"
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr "Ontbrekende record-afsluiting"
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr "Onjuiste incrementele bestandsindeling"
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 "Niet-ondersteunde versie (%<PRIuMAX>) van incrementele bestandsindeling"
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "Onjuiste archiveringsmap: '%c' werd verwacht maar %#3o gevonden"
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Onjuiste archiveringsmap: 'X' staat er dubbel"
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Onjuiste archiveringsmap: lege naam in 'R'"
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr "Onjuiste archiveringsmap: 'T' werd niet voorafgegaan door 'R'"
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Onjuiste archiveringsmap: lege naam in 'T'"
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, 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:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Onjuiste archiveringsmap: 'X' is nergens gebruikt"
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Kan met sjabloon %s geen tijdelijke map aanmaken"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, 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:1556
+#: src/incremen.c:1616
 #, 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:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Verwijderen van %s...\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Kan niet verwijderen"
@@ -1117,19 +1135,19 @@ msgstr "blok %s: ** Blok van NUL-tekens **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Einde-bestand **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1137,68 +1155,68 @@ msgstr ""
 "aangenomen"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:728
+#: src/list.c:737
 #, 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:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Archief bevat ouderwetse grondtal-64 koppen"
 
-#: src/list.c:763
+#: src/list.c:772
 #, 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:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, 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:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " koppeling naar %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " onbekende bestandssoort %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Lange koppeling--\n"
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Lange naam--\n"
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Deelkop--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Verder bij byte %s--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Aanmaken van map:"
 
@@ -1235,24 +1253,24 @@ msgstr "interproces-kanaal"
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr "Bestandsnamen bevatten jokertekens.  Gebruik '--wildcards'"
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr "om patroonovereenkomsten in te schakelen,"
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr "of '-no-wildcards' om deze melding te onderdrukken."
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Komt niet voor in archief"
 
-#: src/names.c:621
+#: src/names.c:615
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Is vereist maar komt niet voor in archief"
@@ -1279,7 +1297,7 @@ msgstr ""
 "Onbekende aanhalingsstijl '%s'.  Probeer '%s --quoting-style=help' voor een "
 "overzicht."
 
-#: src/tar.c:334
+#: src/tar.c:336
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1299,7 +1317,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:343
+#: src/tar.c:345
 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 "
@@ -1320,87 +1338,87 @@ msgstr ""
 "  nil, existing   genummerd als ze al bestaan, anders simpel\n"
 "  never, simple   altijd simpele reservekopieën maken\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr "Hoofdbewerkingen:"
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr "de inhoud van een archief opsommen"
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr "bestanden uit een archief uitpakken"
 
-#: src/tar.c:377
+#: src/tar.c:379
 msgid "create a new archive"
 msgstr "een nieuw archief aanmaken"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr "verschillen tussen archief en bestandssyteem vinden"
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr "bestanden aan het eind van een archief toevoegen"
 
-#: src/tar.c:384
+#: src/tar.c:386
 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:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr "tar-bestanden aan een archief toevoegen"
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "uit het archief verwijderen (niet gebruiken bij magneetbanden!)"
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr "label van archiefdeel controleren en stoppen"
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr "Werkingsaanpassers:"
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr "luchtige bestanden efficiënt verwerken"
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr "HOOFD[.SUB]"
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr "versie van te gebruiken luchtige indeling (impliceert '--sparse')"
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
-msgstr "oude GNU-indeling van incrementele reservekopie verwerken"
+msgstr "oude GNU-indeling van incrementeel archief verwerken"
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr "BESTAND"
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
-msgstr "nieuwe GNU-indeling van incrementele reservekopie verwerken"
+msgstr "nieuwe GNU-indeling van incrementeel archief verwerken"
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr "niet afsluiten met een foutcode bij onleesbare bestanden"
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr "AANTAL"
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1412,122 +1430,125 @@ msgstr ""
 "diff, --extract of --list, en wanneer een lijst van bestanden gegeven is op "
 "de opdrachtregel of via de optie -T; AANTAL is standaard 1"
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr "archief is doorzoekbaar"
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
+"geen apparaatnummers controleren tijdens aanmaken van incrementele archieven"
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
+"apparaatnummers controleren tijdens aanmaken van incrementele archieven "
+"(standaard)"
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr "Overschrijvingsopties:"
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr "het archief na het schrijven proberen te verifiëren"
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr "bestanden na hun toevoeging aan het archief verwijderen"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr "bij het uitpakken bestaande bestanden niet vervangen"
 
-#: src/tar.c:435
+#: src/tar.c:437
 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:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr "bestaande bestanden bij het uitpakken overschrijven"
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr "elk bestand verwijderen alvorens eroverheen uit te pakken"
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr "bestaande mappen leegmaken alvorens eroverheen uit te pakken"
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr "metagegevens van bestaande mappen behouden"
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 "de metagegevens van bestaande mappen bij het uitpakken overschrijven "
 "(standaard)"
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr "Selecteren van uitvoerkanaal:"
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
 msgstr "bestanden uitpakken naar standaarduitvoer"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr "OPDRACHT"
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr "uitgepakte bestanden via pijp naar gegeven programma sluizen"
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr "afsluitwaardes van dochterprocessen negeren"
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 "afsluitwaardes van dochterprocessen die niet nul zijn als fout behandelen"
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr "Behandeling van bestandskenmerken:"
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr "toegevoegde bestanden krijgen NAAM als eigenaar"
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr "toegevoegde bestanden krijgen NAAM als groep"
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr "DATUM-OF-BESTAND"
 
-#: src/tar.c:472
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr ""
 "wijzigingstijd zetten van bestanden die wegens DATUM-OF-BESTAND toegevoegd "
 "zijn"
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr "WIJZIGINGEN"
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "toegevoegde bestanden krijgen (symbolische) WIJZIGINGEN in hun modus"
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr "MANIER"
 
-#: src/tar.c:477
+#: src/tar.c:479
 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 "
@@ -1537,27 +1558,27 @@ msgstr ""
 "herstellen van de tijdsstempels na het lezen (MANIER='replace'; standaard), "
 "of door de tijdsstempels met rust te laten (MANIER='system')"
 
-#: src/tar.c:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr "bestandswijzigingstijden niet uitpakken"
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr "bestanden proberen uit te pakken met gelijkblijvende eigenaar"
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr "bestanden uitpakken als uzelf"
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr "altijd getallen gebruiken voor gebruikers- en groepsnamen"
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr "bestandspermissies ook uitpakken (standaard voor root)"
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1565,17 +1586,17 @@ msgstr ""
 "de umask van de gebruiker toepassen bij het uitpakken van bestandspermissies "
 "(standaard voor gewone gebruikers)"
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr ""
 "uit te pakken namen sorteren zodanig dat ze overeenkomen met de volgorde in "
 "het archief"
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr "hetzelfde als -p en -s samen"
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1583,139 +1604,139 @@ msgstr ""
 "het zetten van permissies en tijdsstempels van mappen uitstellen tot het "
 "einde van het uitpakken"
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "het effect van de optie --delay-directory-restore ongedaan maken"
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr "Apparaatselectie en -wisseling:"
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr "ARCHIEF"
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr "archiefbestand of apparaat ARCHIEF gebruiken"
 
-#: src/tar.c:513
+#: src/tar.c:515
 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:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "deze OPDRACHT gebruiken in plaats van rmt"
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr "deze OPDRACHT gebruiken in plaats van rsh"
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr "schijf en dichtheid opgeven"
 
-#: src/tar.c:535
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
 msgstr "meerdelig archief aanmaken/opsommen/uitpakken"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "band wisselen na schrijven van AANTAL x 1024 bytes"
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr "script uitvoeren aan einde van elke band (impliceert -M)"
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
-msgstr "het nummer van het deel in BESTAND gebruiken/bijwerken"
+msgstr "het deelnummer in BESTAND gebruiken/bijwerken"
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr "Blokverwerking:"
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr "BLOKKEN"
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOKKEN x 512 bytes per record"
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "AANTAL bytes per record (een veelvoud van 512)"
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "blokken met nullen in archief negeren (betekenen einde-van-bestand)"
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "doorgaan met lezen tot blok compleet is (voor 4.2BSD-pijpen)"
 
-#: src/tar.c:561
+#: src/tar.c:563
 msgid "Archive format selection:"
 msgstr "Archiefindelingskeuze:"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr "INDELING"
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr "een archief maken in de gekozen indeling"
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr "INDELING is een van de volgende:"
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr "oude V7 tar-indeling"
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr "GNU-indeling van tar <= 1.12"
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr "GNU-indeling van tar 1.13.x"
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "POSIX 1003.1-1988 (ustar-indeling)"
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "POSIX 1003.1-2001 (pax-indeling)"
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr "hetzelfde als pax"
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr "hetzelfde als --format=v7"
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr "hetzelfde als --format=posix"
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "sleutelwoord[[:]=waarde][,sleutelwoord[[:]=waarde]]..."
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr "het aangeven van pax-sleutelwoorden"
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr "TEKST"
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1723,86 +1744,100 @@ msgstr ""
 "een archief met deelnaam TEKST maken; bij opsommen/uitpakken TEKST als "
 "zoekpatroon voor de deelnaam gebruiken"
 
-#: src/tar.c:592
+#: src/tar.c:594
 msgid "Compression options:"
 msgstr "Compressie-opties:"
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
 msgstr "compressieprogramma afleiden uit bestandsachtervoegsel"
 
-#: src/tar.c:596
+#: src/tar.c:598
+#, fuzzy
+msgid "do not use use archive suffix to determine the compression program"
+msgstr "compressieprogramma afleiden uit bestandsachtervoegsel"
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr "het archief door 'bzip2' filteren"
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr "het archief door 'gzip' filteren"
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr "het archief door 'compress' filteren"
 
-#: src/tar.c:605
+#: src/tar.c:610
 msgid "filter the archive through lzma"
 msgstr "het archief door 'lzma' filteren"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "het archief door 'gzip' filteren"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr "PROGRAMMA"
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr "het archief door dit programma filteren (moet -d accepteren)"
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr "Lokale bestandskeuze:"
 
-#: src/tar.c:615
+#: src/tar.c:622
 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:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr "MAP"
 
-#: src/tar.c:617
+#: src/tar.c:624
 msgid "change to directory DIR"
 msgstr "naar MAP gaan"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr "namen van in of uit te pakken bestanden uit BESTAND halen"
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr "-T leest met NUL afgesloten namen, -C uitzetten"
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
 "aanhalingstekens verwijderen rond bestandsnamen gelezen met -T (standaard)"
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr "aanhalingstekens niet verwijderen rond bestandsnamen gelezen met -T"
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "PATROON"
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr "bestanden uitsluiten, gegeven als een PATROON"
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr "uitsluitingspatronen staan opgesomd in BESTAND"
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1810,91 +1845,91 @@ msgstr ""
 "inhoud van mappen die CACHEDIR.TAG bevatten uitsluiten, behalve CACHEDIR.TAG "
 "zelf"
 
-#: src/tar.c:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "alles onder mappen die CACHEDIR.TAG bevatten uitsluiten"
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "mappen die CACHEDIR.TAG bevatten uitsluiten"
 
-#: src/tar.c:639
+#: src/tar.c:648
 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:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
 msgstr "alles onder mappen die BESTAND bevatten uitsluiten"
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr "mappen die BESTAND bevatten uitsluiten"
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr "systeemmappen van versiebeheer uitsluiten"
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr "niet automatisch afdalen in mappen"
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr "in het lokale bestandssysteem blijven bij maken van archief"
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr "recursief in mappen afdalen (standaard)"
 
-#: src/tar.c:654
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
 msgstr "leidende '/' niet uit bestandsnamen verwijderen"
 
-#: src/tar.c:656
+#: src/tar.c:665
 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:658
+#: src/tar.c:667
 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:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr "LIDNAAM"
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr "beginnen bij lid LIDNAAM in het archief"
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "alleen bestanden opslaan die nieuwer zijn dan DATUM-OF-BESTAND"
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr "DATUM"
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr "datum en tijd alleen vergelijken wanneer gegevens veranderd zijn"
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr "MANIER"
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr "voor verwijdering een reservekopie maken, op de aangegeven MANIER"
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr "TEKENREEKS"
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -1903,90 +1938,90 @@ msgstr ""
 "(in plaats van '~', die standaard is tenzij door omgevingsvariable "
 "SIMPLE_BACKUP_SUFFIX veranderd)"
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr "Bestandsnaam-transformaties:"
 
-#: src/tar.c:676
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "dit AANTAL leidende componenten uit bestandsnamen verwijderen"
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr "EXPRESSIE"
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 "deze vervangings-EXPRESSIE gebruiken om bestandsnamen met 'sed' te "
 "transformeren"
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr "Bestandsnaamselectie-opties (voor zowel in- als uitsluitingspatronen)"
 
-#: src/tar.c:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr "verschil tussen hoofd- en kleine letters negeren"
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr "patronen komen overeen met begin van bestandsnaam"
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr ""
 "patronen komen overeen met alles na een '/' (is standaard bij uitsluiting)"
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr "hoofdlettergevoelige vergelijking (standaard)"
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr "jokertekens gebruiken (is standaard bij uitsluiting)"
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr "exacte tekenreeksvergelijking"
 
-#: src/tar.c:699
+#: src/tar.c:709
 msgid "wildcards do not match `/'"
 msgstr "jokertekens komen niet overeen met '/'"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr "jokertekens komen overeen met '/' (is standaard bij uitsluiting)"
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr "Informatieve uitvoer:"
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr "de verwerkte bestanden opsommen"
 
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "voortgangsberichten tonen voor elk AANTALste record (standaard 10)"
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr "ACTIE"
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr "bij elk controlepunt deze ACTIE uitvoeren"
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr "een bericht tonen als niet alle links gearchiveerd werden"
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr "SIGNAAL"
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1998,27 +2033,27 @@ msgstr ""
 "ontvangen wordt; mogelijke signalen zijn: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 "
 "en SIGUSR2; de namen zonder het voorvoegsel SIG worden ook geaccepteerd"
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr "bestandswijzigingstijden in UTC tonen"
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr "breedsprakige uitvoer naar BESTAND sturen"
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr "blokgetal binnen archief tonen bij elk bericht"
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr "bij elke actie om toestemming vragen"
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr "standaardinstellingen van tar tonen"
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2026,33 +2061,33 @@ msgstr ""
 "bij opsommen of uitpakken: elke map opsommen die niet aan zoekcriteria "
 "voldoet"
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr "bestands- of archiefnamen na transformatie tonen"
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr "STIJL"
 
-#: src/tar.c:741
+#: src/tar.c:751
 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:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr "ook de tekens in TEKENREEKS aanhalen"
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr "de tekens in TEKENREEKS niet aanhalen"
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr "Compatibiliteitsopties:"
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2060,56 +2095,56 @@ msgstr ""
 "bij aanmaken hetzelfde als --old-archive; bij uitpakken hetzelfde als --no-"
 "same-owner"
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr "Andere opties:"
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr "gebruik van mogelijk gevaarlijke opties of opdrachten uitschakelen"
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Slechts één van de opties 'Acdtrux' is mogelijk"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Conflicterende compressie-opties"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Onbekende signaalnaam: %s"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 msgid "Date sample file not found"
 msgstr "Voorbeeldbestand voor tijdsstempel niet gevonden"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Onbekende datumopmaak %2$s wordt vervangen door %1$s"
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr "Optie %s: datum '%s' wordt begrepen als %s"
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, c-format
 msgid "%s: file list already read"
 msgstr "%s: bestandenlijst is al gelezen"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: gelezen bestandsnaam bevat een NUL-teken"
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr "Geldige argumenten van --quoting-style zijn:"
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2117,151 +2152,165 @@ msgstr ""
 "\n"
 "*Deze* tar gebruikt de volgende standaardwaarden:\n"
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Ongeldige blokindeling"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr "Waarschuwing: optie -I is niet mogelijk; bedoelt u misschien -j of -T?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Ongeldige bandlengte"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Meerdere drempeldata"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr "Ongeldig versienummer voor luchtige indeling"
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' is op dit platform niet mogelijk"
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr "waarde van --checkpoint is geen geheel getal"
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: Ongeldige groep"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Ongeldige modus gegeven bij optie"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr "Ongeldig nummer"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Ongeldige eigenaar"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Ongeldige recordgrootte"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Recordgrootte moet een veelvoud zijn van %d."
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr "Ongeldig aantal elementen"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr "Slechts één optie --to-command is toegestaan"
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Ongeldig dichtheidsargument: %s"
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
 msgstr "Onbekende dichtheid: '%c'"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, 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:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr "[BESTAND]..."
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "Oude optie '%c' vereist een argument."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr "'--occurrence' betekent niets zonder een bestandenlijst"
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr "'--occurrence' kan niet worden gebruikt in de gevraagde werkingsmodus"
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 msgid "Multiple archive files require `-M' option"
 msgstr "Voor meerdere archiefbestanden is de optie '-M' vereist"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "Kan '--listed-incremental' niet met '--newer' combineren"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Kan meerdelige archieven niet verifiëren"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Kan ingepakte archieven niet verifiëren"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Kan geen meerdelige ingepakte archieven gebruiken"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 msgid "Cannot concatenate compressed archives"
 msgstr "Kan ingepakte archieven niet samenvoegen"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "optie '--pax' kan alleen worden gebruikt bij POSIX-archieven"
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Een geheel leeg archief wordt niet aangemaakt"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "Opties '-Aru' gaan niet samen met '-f -'"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "U dient een van de opties '-Acdtrux' op te geven"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Uitgestelde afbreking na eerdere fouten"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, c-format
@@ -2270,52 +2319,52 @@ msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Bestand is gekrompen met %s byte"
 msgstr[1] "%s: Bestand is gekrompen met %s bytes"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Sleutelwoord %s is onbekend of nog niet geïmplementeerd"
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Patroon %s kan niet worden gebruikt"
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Sleutelwoord %s kan niet worden overstegen"
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr "Onjuiste uitgebreide kop: ontbrekende lengte"
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr "Lengte van uitgebreide kop valt buiten bereik"
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Lengte %*s van uitgebreide kop valt buiten bereik"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr "Onjuiste uitgebreide kop: ontbrekende witruimte na de lengte"
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr "Onjuiste uitgebreide kop: ontbrekend isgelijkteken"
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr "Onjuiste uitgebreide kop: ontbrekend regeleinde"
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr "Genegeerd: onbekend sleutelwoord '%s' in uitgebreide kop"
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2324,28 +2373,28 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:812
+#: src/xheader.c:810
 #, 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:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Onjuiste uitgebreide kop: ongeldige %s=%s"
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Onjuiste uitgebreide kop: overtollige %s=%s"
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Onjuiste uitgebreide kop: ongeldige %s: onverwacht scheidingsteken %c"
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Onjuiste uitgebreide kop: ongeldige %s: oneven aantal waarden"
@@ -2523,98 +2572,115 @@ msgstr "Getal valt buiten toegestaan bereik: %s"
 msgid "Negative size: %s"
 msgstr "Negatieve grootte: %s"
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr "Kan status van %s niet bepalen"
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Fout tijdens getalsontleding, nabij '%s'"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, c-format
 msgid "Unknown date format"
 msgstr "Onbekende datumopmaak"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr "[ARGUMENTEN]..."
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
 msgstr "Kan '%s' niet openen"
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 msgid "cannot seek"
 msgstr "kan niet springen"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr "Bestandsnaam bevat een NUL-teken"
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, 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:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "Onjuist masker (nabij '%s')"
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Onbekend veld '%s'"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "Kan tijdsstempel van '%s' niet zetten"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Opdracht is succesvol afgesloten\n"
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Opdracht is mislukt met afsluitwaarde %d\n"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Opdracht is afgebroken door signaal %d\n"
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Opdracht is gestopt door signaal %d\n"
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Opdracht resulteerde in een core-dump\n"
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr "Opdracht is afgebroken\n"
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, c-format
 msgid "--stat requires file names"
 msgstr "'--stat' vereist bestandsnamen"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr "te veel argumenten"
+
+#, fuzzy
+#~ msgid "cancel effect of the previous --transform-links option"
+#~ msgstr "het effect van de optie --delay-directory-restore ongedaan maken"
+
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Uitgestelde afbreking na eerdere fouten"
index 637185b8109120c4a8e20d05a11b6cd33d1a00a8..f6bec1fe5afb579c70ca936133b85de39c27ba0b 100644 (file)
Binary files a/po/pl.gmo and b/po/pl.gmo differ
index d653d96660b3616e5a0654c3597176bf51e02b12..adf9e02d7806dfb9994382b395fc9c56933ff85b 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,10 +6,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.19.90\n"
+"Project-Id-Version: tar 1.20\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
-"PO-Revision-Date: 2008-02-08 21:30+0200\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
+"PO-Revision-Date: 2008-04-14 23:00+0200\n"
 "Last-Translator: Rafa³ Maszkowski <rzm@icm.edu.pl>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
@@ -83,7 +83,7 @@ msgstr "[OPCJE...]"
 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"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Raporty o b³êdach nale¿y wysy³aæ do %s .\n"
@@ -92,15 +92,15 @@ msgstr "Raporty o b
 msgid "Unknown system error"
 msgstr "Nieznany b³±d systemu"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr "wy¶wietlenie tego opisu"
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr "krótka informacja o opcjach"
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr "NAZWA"
@@ -113,11 +113,11 @@ msgstr "ustawienie nazwy programu"
 msgid "SECS"
 msgstr "SEK"
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr "poczekaj SEK sekund (domy¶lnie 3600)"
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr "informacja o wersji programu"
 
@@ -135,7 +135,7 @@ msgstr "%s: Za du
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(B£¡D PROGRAMU) Opcja powinna by³a byæ rozpoznana!?"
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr "b³±d zapisu"
 
@@ -194,16 +194,16 @@ msgstr "%s: opcja `-W %s' jest niejednoznaczna\n"
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: opcja `-W %s' nie mo¿e mieæ argumentu\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "brak pamiêci"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, c-format
 msgid "unable to record current working directory"
 msgstr "nie uda³o siê zapisaæ bie¿acego katalogu"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "nie uda³o siê powróciæ do pocz±tkowego katalogu bie¿±cego"
@@ -326,11 +326,23 @@ msgstr "`"
 msgid "'"
 msgstr "'"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr "^[yYtT]"
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr "^[nN]"
 
@@ -554,66 +566,58 @@ msgstr "Przedwczesny koniec pliku"
 msgid "Garbage command"
 msgstr "Bezsensowna komenda"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "To nie wygl±da jak archiwum tar"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 msgid "Total bytes written"
 msgstr "Licza zapisanych bajtów"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr "Liczba przeczytanych bajtów"
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Liczba skasowanych bajtów: %s\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(pipe)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "B³êdna warto¶æ record_size"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Nie podana nazwa archiwum"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Nie mo¿na zweryfikowaæ archiwum z/do stdin/stdout"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Archiwum jest skompresowane. Nale¿y u¿yæ opcji %s"
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Nie mo¿na uaktualniæ archiwum skompresowanego"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "Na pocz±tku ta¶my, teraz koñczê"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Za du¿o b³êdów, koñczê"
 
-#: src/buffer.c:678
-#, c-format
-msgid "Unaligned block (%lu byte) in archive"
-msgid_plural "Unaligned block (%lu bytes) in archive"
-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:698
+#: src/buffer.c:695
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
@@ -621,38 +625,46 @@ msgstr[0] "Rozmiar rekordu = %lu blok"
 msgstr[1] "Rozmiar rekordu = %lu bloki"
 msgstr[2] "Rozmiar rekordu = %lu bloków"
 
-#: src/buffer.c:771
+#: src/buffer.c:716
+#, c-format
+msgid "Unaligned block (%lu byte) in archive"
+msgid_plural "Unaligned block (%lu bytes) in archive"
+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:793
 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:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek nie zatrzyma³ siê na granicy rekordów"
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: zawiera b³êdny numer czê¶ci"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Przepe³nienie numeru czê¶ci"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, 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:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "EOF kiedy by³a oczekiwana odpowied¼ u¿ytkownika"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 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:934
+#: src/buffer.c:954
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -663,67 +675,68 @@ msgstr ""
 " q             Zakoñczenie programu tar\n"
 " y albo Enter  Kontynuacja\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Uruchomienie pow³oki\n"
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Wypisanie tej listy\n"
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Brak nowej czê¶ci; zakoñczenie pracy.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr "Brak nazwy pliku. Spróbuj jeszcze raz.\n"
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, 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:1044
+#: src/buffer.c:1064
 #, c-format
 msgid "%s command failed"
 msgstr "%s polecenie zwróci³o b³±d"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, 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:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s nie jest kontynuowany w tej czê¶ci"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s to z³y rozmiar (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Ta czê¶æ nie jest kolejn±"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Etykieta archiwum nie pasuje do %s"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Czê¶æ %s nie pasuje do %s"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -731,6 +744,11 @@ msgstr ""
 "%s: nazwa pliku jest za d³uga do zapisania w nag³ówku wieloczê¶ciowego "
 "archiwum GNU, zostanie skrócona"
 
+#: src/buffer.c:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "rmtlseek nie zatrzyma³ siê na granicy rekordów"
+
 #: src/compare.c:96
 #, c-format
 msgid "Could only read %lu of %lu byte"
@@ -743,8 +761,8 @@ msgstr[2] "Mo
 msgid "Contents differ"
 msgstr "Zawarto¶ci siê ró¿ni±"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Nieoczekiwany EOF w archiwum"
 
@@ -865,7 +883,7 @@ msgstr[2] "%s: Plik skurczy
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: plik w innym systemie plików; nie zosta³ zapisany"
 
-#: src/create.c:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr "zawarto¶æ nie zosta³a zapisana"
 
@@ -894,7 +912,7 @@ msgstr "%s: plik jest w tym archiwum; nie zosta
 msgid "%s: File removed before we read it"
 msgstr "%s: Plik usuniêty zanim zosta³ przeczytany"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr "katalog nie zosta³ zapisany"
 
@@ -945,165 +963,165 @@ msgstr "%s: Katalog zmieni
 msgid "Extracting contiguous files as regular files"
 msgstr "Odtwarzanie plików ci±g³ych (nie sparse) jako zwyk³ych"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Próba odtworzenia ³±cza symbolicznego jako zwyk³ego"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Czytam %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, 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:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 msgid "Unexpected long name header"
 msgstr "Niespodziewany nag³ówek z d³ug± nazw±"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
 msgstr "%s: Nieznany typ pliku `%c', odtworzony jako plik zwyk³y"
 
-#: src/extract.c:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Aktualny %s jest nowszy albo w tym samym wieku"
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, 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:1358
+#: src/extract.c:1355
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Nie mo¿na przemianowaæ %s na %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "B³±d nie do naprawienia: koniec"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Nazwa katalogu zosta³a zmieniona z %s"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Nazwa katalogu zosta³a zmieniona"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Katalog jest nowy"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "B³êdny czas pliku"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 msgid "Invalid modification time (seconds)"
 msgstr "B³êdny czas modyfikacji (sekundy)"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr "B³êdny czas modyfikacji (nanosekundy)"
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "B³êdny numer urz±dzenia"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "B³êdny numer inodu"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr "Za d³ugie pole w pliku migawkowym"
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr "B³±d czytania pliku migawkowego"
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 msgid "Unexpected EOF in snapshot file"
 msgstr "Nieoczekiwany EOF w pliku migawkowym"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr "Nieoczekiwana warto¶æ pola w pliku migawkowym"
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr "Brakuj±ce zakoñczenie rekordu"
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr "Z³y format pliku przyrostowego"
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Nie obs³ugiwana wersja formatu przyrostowego: %<PRIuMAX>"
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "Z³y format katalogu zrzutów: oczekiwano '%c', znaleziono %#3o"
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Z³y format katalogu zrzutów: powtórzone 'X'"
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Z³y format katalogu zrzutów: pusta nazwa w 'R'"
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr "Z³y format katalogu zrzutów: 'T' nie jest poprzedzone przez 'R'"
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Z³y format katalogu zrzutów: pusta nazwa w 'T'"
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr "Z³y format katalogu zrzutów: oczekiwano '%c', znaleziono koniec danych"
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Z³y format katalogu zrzutów: nigdy nie u¿yte 'X'"
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, 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:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Bez skasowania katalogu: nie mo¿na odczytaæ stanu"
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: katalog na innym urz±dzeniu: bez skasowania"
 
-#: src/incremen.c:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Usuniêcie %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Nie mo¿na usun±æ"
@@ -1123,19 +1141,19 @@ msgstr "blok %s: ** Blok zer **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "blok: %s: ** Koniec pliku **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1143,68 +1161,68 @@ msgstr ""
 "jak uzupe³nienie dwójkowe"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:728
+#: src/list.c:737
 #, 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:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Archiwum zawiera przestarza³e nag³ówki base64"
 
-#: src/list.c:763
+#: src/list.c:772
 #, 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:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, 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:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " ³±cze do %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " nieznany typ pliku %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--D³ugie ³±cze--\n"
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--D³uga nazwa--\n"
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Nag³ówek czê¶ci--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Kontynuacja od bajtu %s--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Tworzony jest katalog:"
 
@@ -1241,25 +1259,25 @@ msgstr "kana
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr "W nazwach plików u¿yto znaków dopasowania wzorców. Proszê"
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
 "u¿yæ --wildcards aby w³±czyæ porównywanie wzorców albo --no-wildcards ¿eby"
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr "wy³±czyæ to ostrze¿enie"
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Nie znalaz³em w archiwum"
 
-#: src/names.c:621
+#: src/names.c:615
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Brak podanego wyst±pienia pliku w archiwum"
@@ -1286,7 +1304,7 @@ msgstr ""
 "Nieznany styl cytowania `%s'. U¿yj `%s --quoting-style=help' ¿eby zobaczyæ "
 "listê."
 
-#: src/tar.c:334
+#: src/tar.c:336
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1305,7 +1323,7 @@ msgstr ""
 "tar.\n"
 "  tar -xf archive.tar          # rozpakowanie plików z archive.tar.\n"
 
-#: src/tar.c:343
+#: src/tar.c:345
 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 "
@@ -1328,86 +1346,86 @@ msgstr ""
 "proste\n"
 "  never, simple   proste kopie zapasowe\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr "Podstawowe tryby dzia³ania:"
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr "wypisanie zawarto¶ci archiwum"
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr "rozpakowanie plików z archiwum"
 
-#: src/tar.c:377
+#: src/tar.c:379
 msgid "create a new archive"
 msgstr "utworzenie nowego archiwum"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr "sprawdzenie ró¿nic miêdzy archiwum i plikami na dysku"
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr "do³±czenie plików na koñcu archiwum"
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr "do³±czenie tylko plików nowszych ni¿ kopie w archiwum"
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr "do³±czenie plików tar do archiwum"
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "skasowanie plików z archiwum (nie na ta¶mie!)"
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr "przetestowanie etykiety archiwum i wyj¶cie"
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr "Modyfikatory dzia³ania:"
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr "efektywne przetwarzanie plików rzadkich"
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr "MAJOR[.MINOR]"
 
-#: src/tar.c:401
+#: src/tar.c:403
 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:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr "backup przyrostowy w starym formacie GNU"
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr "PLIK"
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr "backup przyrostowy w nowym formacie GNU"
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr "bez zakoñczenia b³êdem je¿eli niedostêpne pliki"
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr "LICZBA"
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1419,121 +1437,121 @@ msgstr ""
 "plików jest podana w linii poleceñ albo przez opcjê -T. LICZBA domy¶lnie "
 "wynosi 1."
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr "archiwum o swobodnym dostêpie"
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
-msgstr ""
+msgstr "bez sprawdzania numerów urz±dzeñ przy tworzeniu archiwów przyrostowych"
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
-msgstr ""
+msgstr "ze sprawdzaniem numerów urz±dzeñ przy tworzeniu archiwów przyrostowych"
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr "Sterowanie zamazywaniem"
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr "próba weryfikacji archiwum po zapisaniu"
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr "usuniêcie plików po dodaniu do archiwum"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr "bez zamazania istniej±cych plików rozpakowanymi"
 
-#: src/tar.c:435
+#: src/tar.c:437
 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:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr "nadpisywanie istniej±cych plików"
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr "usuniêcie ka¿dego pliku przed zamazaniem go rozpakowanym plikiem"
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr "opró¿nianie starych katalogów przed rozpakowaniem kopii z archiwum"
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr "zachowanie metadanych istniej±cych katalogów"
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 "nadpisywanie metadanych istniej±cych katalogów przy rozpakowywaniu "
 "(domyslnie)"
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr "Wybór strumienia wyj¶ciowego"
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
 msgstr "rozpakowanie plików na standardowe wyj¶cie"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr "POLECENIE"
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr "przekazanie rozpakowywanych plików do innego programu"
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr "zignorowanie kodów wyj¶cia procesów potomnych"
 
-#: src/tar.c:460
+#: src/tar.c:462
 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:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr "Przetwarzanie atrybutów plików:"
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr "nadanie w³a¶ciciela NAZWA dodanym plikom"
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr "nadanie grupy NAZWA dodanym plikom"
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr "DATA_ALBO_PLIK"
 
-#: src/tar.c:472
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "ustawianie czasu modyfikacji dodanych plików z DATA_ALBO_PLIK"
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr "ZMIANY"
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "ZMIANA uprawnieñ dodanych plików (podanych symbolicznie)"
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr "METODA"
 
-#: src/tar.c:477
+#: src/tar.c:479
 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 "
@@ -1543,28 +1561,28 @@ msgstr ""
 "czytaniu (METODA='replace'; domy¶lnie) albo przez nieustawianie czasu "
 "(METODA='system')"
 
-#: src/tar.c:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr "bez odtworzenia czasu modyfikacji rozpakowanego pliku"
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr "staranie siê o odtworzenie w³a¶cicieli plików"
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr "rozpakowanie plików jako w³asno¶ci rozpakowuj±cego"
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr "u¿ywanie numerów, nie nazw u¿ytkowników/grup"
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 "odtworzenie informacji o uprawnieniach plików (domy¶lnie dla superusera)"
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1572,15 +1590,15 @@ msgstr ""
 "u¿ycie umask u¿ytkownika przy odtwarzaniu uprawnieñ z archiwum (domy¶lnie "
 "dla zwyk³ych u¿ytkowników)"
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr "pliki do rozpakowania posortowane jak w archiwum"
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr "to samo co równocze¶nie -p i -s"
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1588,139 +1606,139 @@ msgstr ""
 "ustawianie czasów zmian i uprawnieñ odtworzonych katalogów opó¼nione do "
 "koñca rozpakowywania"
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "wy³±czenie efektu opcji --delay-directory-restore"
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr "Wybór i prze³±czanie urz±dzeñ:"
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr "ARCHIWUM"
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr "u¿ycie pliku lub urz±dzenia ARCHIWUM"
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
 msgstr "plik archiwum lokalny, nawet je¿eli ma dwukropek"
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "u¿yj POLECENIA zamiast /etc/rmt"
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr "u¿yj POLECENIA zamiast rsh"
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr "podanie napêdu i gêsto¶ci"
 
-#: src/tar.c:535
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
 msgstr "tworzenie/wypisanie/rozpakowanie archiwum wieloczê¶ciowego"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "zmiana ta¶my po zapisaniu LICZBA x 1024 bajtów"
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr "uruchomienie skryptu na koñcu ta¶my (w³±cza -M)"
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr "u¿ycie/uaktualnienie numeru czê¶ci w PLIKU"
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr "Parametry bloków:"
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr "BLOKI"
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOKI x 512 bajtów na rekord"
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "LICZBA bajtów w rekordzie, wielokrotno¶æ 512"
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "ignorowanie wyzerowanych bloków w archiwum (oznacza EOF)"
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "podzielenie na bloki przy odczycie (dla pipe 4.2BSD)"
 
-#: src/tar.c:561
+#: src/tar.c:563
 msgid "Archive format selection:"
 msgstr "Wybór formatu archiwum:"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr "utworzenie archiwum w danym formacie."
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr "FORMAT mo¿e byæ jednym z nastêpuj±cych:"
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr "stary format tara z V7"
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr "format GNU dla tara <= 1.12"
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr "format tara GNU 1.13"
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "format POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "format POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr "to samo co pax"
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr "to samo co --format=v7"
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr "to samo co --format=posix"
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "s³owo_kluczowe[[:]=warto¶æ][,s³owo_kluczowe[[:]=warto¶æ]]..."
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr "ustawianie s³ów kluczowych formatu pax"
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr "TEKST"
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1728,88 +1746,103 @@ msgstr ""
 "utworzenie archiwum z nazw± wolumenu TEKST. Przy wypisywaniu/rozpakowaniu "
 "TEKST bêdzie u¿yty jako wzorzec dopasowania dla nazwy"
 
-#: src/tar.c:592
+#: src/tar.c:594
 msgid "Compression options:"
 msgstr "Opcje kompresji"
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 "u¿ycie przyrostka nazwy archiwum dla wyznaczenie programu kompresuj±cego"
 
-#: src/tar.c:596
+#: src/tar.c:598
+#, fuzzy
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+"u¿ycie przyrostka nazwy archiwum dla wyznaczenie programu kompresuj±cego"
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr "filtrowanie archiwum przez bzip2"
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr "filtrowanie archiwum przez gzip"
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr "filtrowanie archiwum przez compress"
 
-#: src/tar.c:605
+#: src/tar.c:610
 msgid "filter the archive through lzma"
 msgstr "filtrowanie archiwum przez lzma"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "filtrowanie archiwum przez gzip"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr "PROGRAM"
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr "filtrowanie przez PROGRAM (akceptuj±cy -d)"
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr "Wybór plików lokalnych:"
 
-#: src/tar.c:615
+#: src/tar.c:622
 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:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr "KATALOG"
 
-#: src/tar.c:617
+#: src/tar.c:624
 msgid "change to directory DIR"
 msgstr "przej¶cie do KATALOGU"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr "nazwy plików do rozpakowania lub spakowania z PLIKU"
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr "-T czyta nazwy zakoñczone zerem, wy³±cz -C"
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
 "usuniêcie znaków cytowania z nazw plików czytanych poprzez opcjê -T "
 "(domy¶lnie)"
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr "bez usuwania znaków cytowania z nazw plików czytanych poprzez opcjê -T"
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "WZORZEC"
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr "wykluczenie nazw pasuj±cych do WZORCA"
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr "wykluczenie nazw pasuj±cych do wzorców w PLIKU"
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1817,87 +1850,87 @@ msgstr ""
 "wykluczenie katalogów zawieraj±cych znacznik pamiêci podrêcznej CACHEDIR."
 "TAG, oprócz samych plików znacznika"
 
-#: src/tar.c:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "wykluczenie katalogów zawieraj±cych CACHEDIR.TAG i ich podkatalogów"
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "wykluczenie katalogów zawieraj±cych CACHEDIR.TAG"
 
-#: src/tar.c:639
+#: src/tar.c:648
 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:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
 msgstr "wykluczenie katalogów zawieraj±cych PLIK i ich podkatalogów"
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr "wykluczenie katalogów zawieraj±cych PLIK"
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr "wykluczenie katalogów systemu administrowania wersjami"
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr "bez automatycznego zag³êbiania siê w katalogi"
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr "pozostanie w jednym systemie plików"
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr "zag³êbianie siê w podkatalogi (domy¶lnie)"
 
-#: src/tar.c:654
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
 msgstr "bez usuwania pocz±tkowego `/' z nazw plików"
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "archiwizacja plików, na które wskazuj± ³±cza symboliczne"
 
-#: src/tar.c:658
+#: src/tar.c:667
 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:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr "NAZWA-PLIKU"
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr "zaczêcie od pliku NAZWA-PLIKU w archiwum"
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "zapisanie tylko plików nowszych ni¿ DATA albo data PLIKU"
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr "DATA"
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr "porównywanie daty i czasu tylko dla zmienionych danych"
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr "TRYB"
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr "kopia zapasowa przed usuniêciem, wybranie TRYBU zarz±dzania wersjami"
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr "NAPIS"
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -1905,92 +1938,92 @@ msgstr ""
 "kopia zapasowa przed usuniêciem, zmiana domy¶lnego przyrostka ('~', je¿eli "
 "nie zmieniony przez zmienn± ¶rodowiska SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr "Zmiany nazwy plików:"
 
-#: src/tar.c:676
+#: src/tar.c:685
 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:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr "WYRA¯ENIE"
 
-#: src/tar.c:679
+#: src/tar.c:688
 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:684
+#: src/tar.c:694
 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:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr "traktowanie tak samo ma³ych i wielkich liter"
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr "nazwy porównywane od pocz±tków nazw plików"
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr "wzorce odnosz± siê do nazw po ka¿dym / (domy¶lnie)"
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr "odró¿nianie ma³ych i wielkich liter (domy¶lnie)"
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr "u¿ywanie wildcards (domy¶lnie dla wykluczania)"
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr "dos³owne porównywanie napisów"
 
-#: src/tar.c:699
+#: src/tar.c:709
 msgid "wildcards do not match `/'"
 msgstr "wildcards nie s± porównywane z `/'"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr "wildcards s± porównywane z '/' (domy¶lnie dla wykluczania)"
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr "Informacje:"
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr "wypisywanie szczegó³ów o przetwarzanych plikach"
 
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 "wypisywanie co ILE rekordów informacji o przetwarzaniu (domyslnie co 10)"
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr "AKCJA"
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr "wykonanie AKCJI przy ka¿dym punkcie kontrolnym"
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr "wypisanie komunikatu je¿eli nie wszytkie ³±cza zosta³y zapisane"
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr "SYGNA£"
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -2002,27 +2035,27 @@ msgstr ""
 "sygna³y: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 i SIGUSR2; nazwy bez prefiksu SIG "
 "s± te¿ akceptowane"
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr "wypisanie dat modyfikacji plików w UTC"
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr "zapisanie dok³adnych informacji w PLIKU"
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr "pokazanie przy ka¿dym komunikacie numeru bloku w archiwum"
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr "proszenie o potwierdzenie ka¿dego dzia³ania"
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr "wypisanie domy¶lnych ustawieñ tar-a"
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2030,33 +2063,33 @@ msgstr ""
 "wypisywanie ka¿dego katalogu nie pasuj±cego do kryteriów szukania przy "
 "wypisywaniu albo rozpakowywaniu archiwum"
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr "pokazanie nazw plików albo archiwów po przeszkta³ceniu"
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr "STYL"
 
-#: src/tar.c:741
+#: src/tar.c:751
 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:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr "dodatkowe ujmowanie w znaki cytowania znaków z £AÑCUCHA"
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr "wy³±czenie ujmowania w znaki cytowania znaków z £AÑCUCHA"
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr "Opcje kompatybilno¶ci:"
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2064,56 +2097,56 @@ msgstr ""
 "przy tworzeniu: to samo co --old-archive przy odtwarzaniu: to co --no-same-"
 "owner"
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr "Inne opcje:"
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr "wy³±czenie u¿ywania potencjalnie szkodliwych opcji"
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Nie mo¿na podaæ wiêcej ni¿ jednej opcji z `-Acdtrux'"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Niezgodne opcje kompresji"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Nieznana nazwa sygna³u: %s"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 msgid "Date sample file not found"
 msgstr "Nie znaleziono pliku z dat±"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Postawienie %s w miejscu nieznanego formatu daty %s"
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr "Opcja %s: Potraktowanie daty `%s' jako %s"
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, c-format
 msgid "%s: file list already read"
 msgstr "%s: lista plików ju¿ przeczytana"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: przeczytana nazwa pliku zawiera znak NUL"
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr "Argumenty opcji --quoting-style:"
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2121,109 +2154,115 @@ msgstr ""
 "\n"
 "*Ten* tar ma domy¶lne parametry:\n"
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "B³êdny wspó³czynnik ³±czenia w bloki"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr "Uwaga: opcja -I nie jest u¿ywana, mo¿e chodzi o -j albo -T?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "B³êdna d³ugo¶æ ta¶my"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Wiêcej ni¿ jedna data graniczna"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr "B³êdna warto¶æ wersji plików rzadkich"
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "ten system nie pozwala na u¿ycie --atime-preserve='system'"
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr "warto¶æ --checkpoint nie jest liczb± ca³kowit±"
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: b³êdna grupa"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "B³êdne uprawnienia podane w opcji"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr "B³êdny numer"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "B³êdny w³a¶ciciel"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "B³êdna wielko¶æ rekordu"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Rozmiar rekordu musi byæ wielokrotno¶ci± %d"
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr "B³êdna ilo¶æ elementów"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr "Wolno u¿yæ tylko jednej opcji polecenia --to-command"
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "B³êdna specyfikacja gêsto¶ci: %s"
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
 msgstr "Nieznana gêsto¶æ: `%c'"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, c-format
 msgid "Options `-[0-7][lmh]' not supported by *this* tar"
 msgstr "Opcje `-[0-7][lmh]' nie s± u¿ywane w *tym* tarze"
 
-#: src/tar.c:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr "[PLIK]..."
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "Stara opcja `%c' wymaga argumentu."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence nie ma znaczenia bez listy plików"
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr "--occurrence nie mo¿e byæ u¿yte w tym trybie"
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 msgid "Multiple archive files require `-M' option"
 msgstr "Archiwum sk³adaj±ce siê z wielu plików wymaga opcji `-M'"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "Nie mo¿na po³±czyæ --listed-incremental z --newer"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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)"
@@ -2231,42 +2270,50 @@ msgstr[0] "%s: Za d
 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Nie mo¿na zweryfikowaæ archiwum wieloczê¶ciowego"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Nie mo¿na zweryfikowaæ archiwum skompresowanego"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Nie mo¿na u¿ywaæ wieloczê¶ciowego archiwum skompresowanego"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 msgid "Cannot concatenate compressed archives"
 msgstr "Nie mo¿na po³±czyæ skompresowanych archiwów"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option mo¿e byæ u¿yta tylko przy archiwach POSIX-owych"
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Tchórzliwie odmawiam utworzenia pustego archiwum"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "Opcje `-Aru' s± niekompatybilne z `-f -'"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Musisz podaæ jedn± z opcji `-Acdtrux'"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Zakoñczenie z b³êdem z powodu uprzednich b³êdów"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, c-format
@@ -2276,52 +2323,52 @@ msgstr[0] "%s: Plik skurczy
 msgstr[1] "%s: Plik skurczy³ siê o %s bajty"
 msgstr[2] "%s: Plik skurczy³ siê o %s bajtów"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "S³owo kluczowe %s jest nieznane albo jeszcze nie zaimplementowane"
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Nie mo¿e byæ u¿yty wzorzec %s"
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "S³owo kluczowe %s nie mo¿e byæ zast±pione"
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr "B³êdny nag³ówek rozszerzony: brakuje d³ugo¶ci"
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr "D³ugo¶æ nag³ówka rozszerzonego jest poza dozwolonym zakresem"
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "D³ugo¶c nag³ówka rozszerzonego %*s jest poza zakresem"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr "B³êdny nag³ówek rozszerzony: brakuje odstêpu po d³ugo¶ci"
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr "B³êdny nag³ówek rozszerzony: brakuje znaku równo¶ci"
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr "B³êdny nag³ówek rozszerzony: brakuje znaku mowej linii"
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr "Zignorowane nieznane s³owo kluczowe nag³ówka rozszerzonego `%s'"
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2330,27 +2377,27 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:812
+#: src/xheader.c:810
 #, 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:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "B³êdny nag³ówek rozszerzony: b³êdny %s=%s"
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "B³êdny nag³ówek rozszerzony: nadmiarowe %s=%s"
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, 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:1338
+#: src/xheader.c:1336
 #, 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"
@@ -2523,97 +2570,114 @@ msgstr "Liczba spoza dozwolonego zakresu: %s"
 msgid "Negative size: %s"
 msgstr "Ujemny rozmiar: %s"
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr "b³±d stat(%s)"
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "B³±d przetwarzania liczby blisko `%s'"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, c-format
 msgid "Unknown date format"
 msgstr "Nieznany format daty"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr "[ARGUMENTY...]"
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
 msgstr "nie mo¿na otworzyæ `%s'"
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 msgid "cannot seek"
 msgstr "nie mo¿na ustawiæ pozycji"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr "nazwa pliku zawiera znak NUL"
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, 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:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "nieprawid³owa maska (ko³o `%s')"
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, c-format
 msgid "Unknown field `%s'"
 msgstr " Nieznane pole `%s'"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "nie mo¿na ustawiæ czasu na `%s'"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Polecenie zakoñczy³o siê poprawnie\n"
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Polecenie zakoñczy³o siê niepoprawnie z kodem %d\n"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Polecenie zosta³o zakoñczone sygna³em %d\n"
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Polecenie zosta³o zatrzymane sygna³em %d\n"
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Zosta³ zapisany obraz pamiêci (core dump) polecenia\n"
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr "Polecenie zakoñczone\n"
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat wymaga podania nazwy pliku"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr "za du¿o argumentów"
+
+#, fuzzy
+#~ msgid "cancel effect of the previous --transform-links option"
+#~ msgstr "wy³±czenie efektu opcji --delay-directory-restore"
+
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Zakoñczenie z b³êdem z powodu uprzednich b³êdów"
index 1d841f19ec8c3d81370595bc50500ec026f5a0f7..ea3e840be7b7becd51564136f592fe8b339bf544 100644 (file)
Binary files a/po/pt.gmo and b/po/pt.gmo differ
index dee574a8fe8d701ca03a4f7d395f5a2ba0e3055f..f2b0b99e47d2aee99179b0c8e2e59f17dda1d148 100644 (file)
--- a/po/pt.po
+++ b/po/pt.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.11.9\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\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"
@@ -83,7 +83,7 @@ msgstr ""
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr "Para mais informação, tente \"%s --help\".\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
@@ -92,15 +92,15 @@ msgstr ""
 msgid "Unknown system error"
 msgstr "Erro desconhecido, do sistema"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr ""
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr ""
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr ""
@@ -113,11 +113,11 @@ msgstr ""
 msgid "SECS"
 msgstr ""
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr ""
 
@@ -135,7 +135,7 @@ msgstr ""
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 #, fuzzy
 msgid "write error"
 msgstr "Escreve-se registo\n"
@@ -195,16 +195,16 @@ msgstr ""
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "A antiga opção `%c' exige um argumento."
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr ""
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Não se conseguiu determinar a directoria corrente"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr ""
@@ -331,11 +331,23 @@ msgstr ""
 msgid "'"
 msgstr ""
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr ""
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr ""
 
@@ -529,107 +541,107 @@ msgstr "Fim-de-ficheiro prematuro"
 msgid "Garbage command"
 msgstr "Comando desconhecido"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Isto  não se parece a um arquivo \"tar\""
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 #, fuzzy
 msgid "Total bytes written"
 msgstr "Número total de de \"bytes\" escritos: %d\n"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 #, fuzzy
 msgid "Total bytes read"
 msgstr "Número total de de \"bytes\" escritos: %d\n"
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, fuzzy, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Número total de de \"bytes\" escritos: %d\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr ""
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "Valor inválido para tamanho de registo (record_size)"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 #, fuzzy
 msgid "No archive name given"
 msgstr "Não deram nome de arquivo, que  fazer?"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Não se pode  de verificar arquivos stdin ou stdout"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr ""
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 #, fuzzy
 msgid "Cannot update compressed archives"
 msgstr "Não se pode actualizar o verificar um arquivo comprimido"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "No princípio da fita, pára-se imediatamente"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Erros de mais: termina-se"
 
-#: src/buffer.c:678
-#, c-format
-msgid "Unaligned block (%lu byte) in archive"
-msgid_plural "Unaligned block (%lu bytes) in archive"
-msgstr[0] ""
-msgstr[1] ""
-
-#: src/buffer.c:698
+#: src/buffer.c:695
 #, 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:771
+#: src/buffer.c:716
+#, c-format
+msgid "Unaligned block (%lu byte) in archive"
+msgid_plural "Unaligned block (%lu bytes) in archive"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/buffer.c:793
 #, 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:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr ""
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr ""
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, 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:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr ""
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "ATENÇÃO: O arquivo está incompleto"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -641,69 +653,76 @@ msgstr ""
 " !          Criar uma \"sub-shell\" (interpretador de comandos)\n"
 " ?          Escrever esta lista\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Não há novo volume; termina-se. \n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, c-format
 msgid "%s command failed"
 msgstr ""
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, 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:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s não tem continuidade neste volume"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, 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:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Este volume está fora da sequência"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, 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:1276
+#: src/buffer.c:1304
 #, fuzzy, c-format
 msgid "Volume %s does not match %s"
 msgstr "O volume não condiz!  %s!=%s"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 
+#: src/buffer.c:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr ""
+"O fim-de-ficheiro do arquivo %s não se encontra na fronteira de um bloco"
+
 #: src/compare.c:96
 #, fuzzy, c-format
 msgid "Could only read %lu of %lu byte"
@@ -716,8 +735,8 @@ msgstr[1] "%s: S
 msgid "Contents differ"
 msgstr "Tempo de modificação"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Fim de ficheiro inesperado no arquivo"
 
@@ -843,7 +862,7 @@ msgstr[1] "O ficheiro %s diminuiu em %d \"bytes\", ser
 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:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 #, fuzzy
 msgid "contents not dumped"
 msgstr " (imagem da memória despejada \"core dumped\")"
@@ -873,7 +892,7 @@ msgstr "%s 
 msgid "%s: File removed before we read it"
 msgstr ""
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr ""
 
@@ -924,174 +943,174 @@ msgstr ""
 msgid "Extracting contiguous files as regular files"
 msgstr "Estão-se a extrair ficheiros contíguos como sendo ficheiros normais"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 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:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Leitura de %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, 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:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "Fim de ficheiro inesperado no ficheiro de arquivo"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, 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:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr ""
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr ""
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Não se consegue mudar o nome de %s para %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr ""
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, fuzzy, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "Mudou-se o nome do directoria %s"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, fuzzy, c-format
 msgid "%s: Directory has been renamed"
 msgstr "Mudou-se o nome do directoria %s"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, fuzzy, c-format
 msgid "%s: Directory is new"
 msgstr "O directoria %s é novo"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr ""
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 msgid "Invalid modification time (seconds)"
 msgstr ""
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr ""
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr ""
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr ""
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr ""
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 #, fuzzy
 msgid "Read error in snapshot file"
 msgstr "Erro de leitura sobre %s"
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "Fim de ficheiro inesperado no ficheiro de arquivo"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 #, fuzzy
 msgid "Unexpected field value in snapshot file"
 msgstr "Fim de ficheiro inesperado no ficheiro de arquivo"
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr ""
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr ""
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr ""
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr ""
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, fuzzy, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Não se pode mudar para a directoria %s"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr ""
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr ""
 
-#: src/incremen.c:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Apaga-se  %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, fuzzy, c-format
 msgid "%s: Cannot remove"
 msgstr "Não se consegue apagar %s"
@@ -1111,86 +1130,86 @@ msgstr "bloco %10ld: ** Bloco de NULs **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "bloco %10ld: ** Fim-de-ficheiro **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, fuzzy, c-format
 msgid "block %s: "
 msgstr "bloco %10ld: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, 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:728
+#: src/list.c:737
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr ""
 
-#: src/list.c:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr ""
 
-#: src/list.c:763
+#: src/list.c:772
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr ""
 
-#: src/list.c:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr ""
 
-#: src/list.c:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " ligação para %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, fuzzy, c-format
 msgid " unknown file type %s\n"
 msgstr " tipo de ficheiro desconhecido \"%c\"\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr ""
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr ""
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Cabeçalho de volume--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, fuzzy, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Continua no \"byte\" %ld--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Criação de directoria::"
 
@@ -1229,24 +1248,24 @@ msgstr ""
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr ""
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr ""
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Não foi encontrado no arquivo"
 
-#: src/names.c:621
+#: src/names.c:615
 #, fuzzy, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Não foi encontrado no arquivo"
@@ -1272,7 +1291,7 @@ msgid ""
 "Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
 msgstr ""
 
-#: src/tar.c:334
+#: src/tar.c:336
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1283,7 +1302,7 @@ msgid ""
 "  tar -xf archive.tar          # Extract all files from archive.tar.\n"
 msgstr ""
 
-#: src/tar.c:343
+#: src/tar.c:345
 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 "
@@ -1295,87 +1314,87 @@ msgid ""
 "  never, simple   always make simple backups\n"
 msgstr ""
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr ""
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr ""
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr ""
 
-#: src/tar.c:377
+#: src/tar.c:379
 #, fuzzy
 msgid "create a new archive"
 msgstr "Fim de ficheiro inesperado no arquivo"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr ""
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr ""
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr ""
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr ""
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr ""
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr ""
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr ""
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr ""
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr ""
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr ""
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1383,556 +1402,569 @@ msgid ""
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr ""
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr ""
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr ""
 
-#: src/tar.c:431
+#: src/tar.c:433
 #, 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:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr ""
 
-#: src/tar.c:435
+#: src/tar.c:437
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 
-#: src/tar.c:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr ""
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr ""
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr ""
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr ""
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr ""
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
 msgstr ""
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr ""
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr ""
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr ""
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr ""
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr ""
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr ""
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:472
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr ""
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr ""
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr ""
 
-#: src/tar.c:477
+#: src/tar.c:479
 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:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr ""
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr ""
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr ""
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr ""
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr ""
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr ""
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr ""
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr ""
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr ""
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
 msgstr ""
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr ""
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr ""
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr ""
 
-#: src/tar.c:535
+#: src/tar.c:537
 #, fuzzy
 msgid "create/list/extract multi-volume archive"
 msgstr "Não se pode verificar arquivos multi-volume"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr ""
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr ""
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr ""
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr ""
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr ""
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr ""
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr ""
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr ""
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr ""
 
-#: src/tar.c:561
+#: src/tar.c:563
 #, fuzzy
 msgid "Archive format selection:"
 msgstr "Arquivo para stdin"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr ""
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr ""
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr ""
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr ""
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr ""
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr ""
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr ""
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr ""
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr ""
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr ""
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr ""
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
 
-#: src/tar.c:592
+#: src/tar.c:594
 #, fuzzy
 msgid "Compression options:"
 msgstr "Há conflitos entre as opções de compressão"
 
-#: src/tar.c:594
+#: src/tar.c:596
 #, 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:596
+#: src/tar.c:598
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr ""
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr ""
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr ""
 
-#: src/tar.c:605
+#: src/tar.c:610
 msgid "filter the archive through lzma"
 msgstr ""
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "%s é o arquivo; não será arquivado"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr ""
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr ""
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr ""
 
-#: src/tar.c:615
+#: src/tar.c:622
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 
-#: src/tar.c:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr ""
 
-#: src/tar.c:617
+#: src/tar.c:624
 #, fuzzy
 msgid "change to directory DIR"
 msgstr "Não se pode mudar para a directoria %s"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr ""
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr ""
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr ""
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr ""
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr ""
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr ""
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr ""
 
-#: src/tar.c:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/tar.c:639
+#: src/tar.c:648
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 
-#: src/tar.c:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
 msgstr ""
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr ""
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr ""
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr ""
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr ""
 
-#: src/tar.c:654
+#: src/tar.c:663
 #, fuzzy
 msgid "don't strip leading `/'s from file names"
 msgstr "Retira-se \"/\" das ligações (\"links\") absolutas "
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:658
+#: src/tar.c:667
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr ""
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr ""
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr ""
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr ""
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr ""
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr ""
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:676
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/tar.c:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr ""
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr ""
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr ""
 
-#: src/tar.c:699
+#: src/tar.c:709
 msgid "wildcards do not match `/'"
 msgstr ""
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr ""
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1940,268 +1972,282 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr ""
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr ""
 
-#: src/tar.c:730
+#: src/tar.c:740
 #, fuzzy
 msgid "ask for confirmation for every action"
 msgstr "Não se consegue obter confirmação, do utilizador"
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr ""
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr ""
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Não se pode especificar mais do que uma das opções \"-Acdtrux\""
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Há conflitos entre as opções de compressão"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr "Opção \"%c\" desconhecida"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 msgid "Date sample file not found"
 msgstr ""
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr ""
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr ""
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, c-format
 msgid "%s: file list already read"
 msgstr ""
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr ""
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr ""
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr ""
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr ""
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr ""
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr ""
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr ""
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr ""
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr ""
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 #, fuzzy
 msgid "Invalid record size"
 msgstr "Valor inválido para tamanho de registo (record_size)"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, 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:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr ""
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 #, fuzzy
 msgid "Only one --to-command option allowed"
 msgstr "Só se permite uma opção de compressão"
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, fuzzy, c-format
 msgid "Unknown density: `%c'"
 msgstr "Opção \"%c\" desconhecida"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, 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:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr ""
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "A antiga opção `%c' exige um argumento."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr ""
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 #, fuzzy
 msgid "Multiple archive files require `-M' option"
 msgstr "Para usar vários arquivos é necessária a opção \"-M\""
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr ""
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Não se pode verificar arquivos multi-volume"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 #, fuzzy
 msgid "Cannot verify compressed archives"
 msgstr "Não se pode actualizar o verificar um arquivo comprimido"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Não se pode de usar arquivos multi-volume comprimidos"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "Não se pode actualizar o verificar um arquivo comprimido"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Recusa-se, covardemente, a criar um arquivo vazio"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "As opções \"-Aru\" são imcompatíveis com \"-f -\""
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Tem que se especificar uma das opções \"-Acdtrux\""
 
-#: src/tar.c:2483
-#, fuzzy, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Erro só assinalado no fim da execução"
+#: src/tar.c:2529
+#, c-format
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, fuzzy, c-format
@@ -2210,79 +2256,79 @@ msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: O ficheiro diminui em %d bytes, (desgraça!)"
 msgstr[1] "%s: O ficheiro diminui em %d bytes, (desgraça!)"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr ""
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr ""
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr ""
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr ""
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr ""
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr ""
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr ""
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr ""
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr ""
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr ""
 
-#: src/xheader.c:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr ""
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr ""
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2444,97 +2490,107 @@ msgstr ""
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Erro desconhecido, do sistema"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, fuzzy, c-format
 msgid "cannot open `%s'"
 msgstr "Não se consegue abrir %s"
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 #, fuzzy
 msgid "cannot seek"
 msgstr "Não se consegue executar %s"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr "Opção \"%c\" desconhecida"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "Não se consegue executar \"stat\" para o ficheiro %s"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr ""
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr ""
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr ""
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, fuzzy, c-format
 msgid "--stat requires file names"
 msgstr "--Nomes de ficheiros truncados--\n"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr ""
@@ -2606,10 +2662,6 @@ msgstr ""
 #~ msgid "WARNING: No volume header"
 #~ msgstr "ATENÇÃO: Não há cabeçalho de volume"
 
-#~ msgid "Archive %s EOF not on block boundary"
-#~ msgstr ""
-#~ "O fim-de-ficheiro do arquivo %s não se encontra na fronteira de um bloco"
-
 #~ msgid "Only read %d bytes from archive %s"
 #~ msgstr "Só se leram %d \"bytes\" do arquivo %s"
 
@@ -3128,6 +3180,10 @@ msgstr ""
 #~ msgid "Obsolete option name replaced by --backup"
 #~ msgstr "Nome de opção obsoleto, foi substituído por \"--touch\""
 
+#, fuzzy
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Erro só assinalado no fim da execução"
+
 #, fuzzy
 #~ msgid ""
 #~ "If a long option shows an argument as mandatory, then it is mandatory\n"
index 12c225fa8da5cbd8cb0ba7163e695be6c9714db1..d0c749f43f4bbf603e2fffcf3cec37dcc63f11ab 100644 (file)
Binary files a/po/pt_BR.gmo and b/po/pt_BR.gmo differ
index dee356e0d8df6a71aa693b9157c8323756e57672..63fca5ad98be909d42a22b2fa16e5ed477f3dfe3 100644 (file)
@@ -11,7 +11,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.13.25\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
 "PO-Revision-Date: 2002-11-27 20:30-0300\n"
 "Last-Translator: Alexandre Folle de Menezes <afmenez@terra.com.br>\n"
 "Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n"
@@ -85,7 +85,7 @@ msgstr ""
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr "Tente `%s --help' para mais informações.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, fuzzy, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
@@ -97,15 +97,15 @@ msgstr ""
 msgid "Unknown system error"
 msgstr "Erro de sistema desconhecido"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr ""
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr ""
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr ""
@@ -118,11 +118,11 @@ msgstr ""
 msgid "SECS"
 msgstr ""
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr ""
 
@@ -140,7 +140,7 @@ msgstr "%s: a op
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr ""
 
@@ -199,16 +199,16 @@ msgstr "%s: a op
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: a opção `-W %s' não aceita um argumento\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "memória esgotada"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Impossível mudar o diretório de trabalho"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Impossível salvar diretório de trabalho"
@@ -328,11 +328,23 @@ msgstr "`"
 msgid "'"
 msgstr "'"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr ""
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr ""
 
@@ -535,104 +547,104 @@ msgstr "Fim de arquivo prematuro"
 msgid "Garbage command"
 msgstr "Comando sem sentido"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Este não parece ser um arquivo-tar"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 #, fuzzy
 msgid "Total bytes written"
 msgstr "Total de bytes escritos: %s (%sB, %sB/s)\n"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr ""
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, fuzzy, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Total de bytes escritos: %s (%sB, %sB/s)\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(pipe)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "Valor inválido para \"record_size\""
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Nome de arquivo-tar não informado"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr ""
 "Impossível verificar arquivos-tar de entrada/saída padrão (stdin/stdout)"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr ""
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Impossível atualizar arquivos-tar compactados"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "No princípio da fita, encerrando agora"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Muitos erros, encerrando"
 
-#: src/buffer.c:678
-#, fuzzy, c-format
-msgid "Unaligned block (%lu byte) in archive"
-msgid_plural "Unaligned block (%lu bytes) in archive"
-msgstr[0] "Bloco desalinhado (%lu bytes) no arquivo-tar"
-msgstr[1] "Bloco desalinhado (%lu bytes) no arquivo-tar"
-
-#: src/buffer.c:698
+#: src/buffer.c:695
 #, fuzzy, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Tamanho de registro = %lu blocos"
 msgstr[1] "Tamanho de registro = %lu blocos"
 
-#: src/buffer.c:771
+#: src/buffer.c:716
+#, fuzzy, c-format
+msgid "Unaligned block (%lu byte) in archive"
+msgid_plural "Unaligned block (%lu bytes) in archive"
+msgstr[0] "Bloco desalinhado (%lu bytes) no arquivo-tar"
+msgstr[1] "Bloco desalinhado (%lu bytes) no arquivo-tar"
+
+#: src/buffer.c:793
 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:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: contém um número de volume inválido"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Sobrecarga de número de volumes"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Prepare o volume #%d para %s e tecle Enter: "
 
-#: src/buffer.c:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "Fim-de-arquivo onde era esperado resposta do usuário"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "AVISO: O arquivo-tar está incompleto"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -644,69 +656,74 @@ msgstr ""
 " !          Criar um \"sub-shell\"\n"
 " ?          Mostra esta lista\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Nenhum volume novo; encerrando.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, fuzzy, c-format
 msgid "%s command failed"
 msgstr "comando `%s' falhou"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, fuzzy, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s não continua neste volume"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s não continua neste volume"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s é o tamanho errado (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Este volume está fora de sequência"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "O arquivo-tar não rotulado para casar com %s"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "O volume %s não casa com %s"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 
+#: src/buffer.c:1619
+msgid "write did not end on a block boundary"
+msgstr ""
+
 #: src/compare.c:96
 #, fuzzy, c-format
 msgid "Could only read %lu of %lu byte"
@@ -718,8 +735,8 @@ msgstr[1] "S
 msgid "Contents differ"
 msgstr "O conteúdo é diferente"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Final-de-arquivo inesperado no arquivo-tar"
 
@@ -837,7 +854,7 @@ msgstr[1] "%s: o arquivo diminuiu %s bytes; completando com zeros"
 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:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr ""
 
@@ -866,7 +883,7 @@ msgstr "%s: arquivo 
 msgid "%s: File removed before we read it"
 msgstr "%s: arquivo removido antes de ser lido"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr ""
 
@@ -917,168 +934,168 @@ msgstr "%s: Diret
 msgid "Extracting contiguous files as regular files"
 msgstr "Extraindo arquivos contíguos como sendo arquivos normais"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Tentativa de extrair \"links\" simbólicos como \"links\" físicos"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Lendo %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, 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:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "Fim de arquivo inesperado nos nomes cifrados"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, fuzzy, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
 msgstr "%s: Tipo de arquivo '%c' desconhecido; extraindo como arquivo normal"
 
-#: src/extract.c:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr ""
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Impossível fazer backup deste arquivo"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, fuzzy, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s: Impossível renomear para %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "Erro não é recuperável: saindo agora"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, fuzzy, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Diretório foi renomeado"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Diretório foi renomeado"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: O diretório é novo"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Carimbo de horário inválido"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 #, fuzzy
 msgid "Invalid modification time (seconds)"
 msgstr "Modo inválido informado na opção"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr ""
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Número de dispositivo inválido"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Número de inode inválido"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr ""
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr ""
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "Final-de-arquivo inesperado no arquivo-tar"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr ""
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr ""
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr ""
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr ""
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr ""
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, fuzzy, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Impossível alocar memória para um fator de bloco %d"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr ""
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, fuzzy, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: arquivo está em outro sistema de arquivos; não será arquivado"
 
-#: src/incremen.c:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Removendo %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Impossível remover"
@@ -1098,19 +1115,19 @@ msgstr "bloco %s: ** Bloco de NULs **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "bloco %s: ** Fim-de-arquivo **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "bloco %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1118,68 +1135,68 @@ msgstr ""
 "complemento de dois"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:728
+#: src/list.c:737
 #, 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:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "o arquivo-tar contém cabeçalhos base-64 obsoletos"
 
-#: src/list.c:763
+#: src/list.c:772
 #, 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:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, 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:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " link para %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " tipo de arquivo \"%s\" desconhecido\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr ""
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr ""
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Cabeçalho de volume--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Continua no byte %s--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Criando de diretório:"
 
@@ -1216,24 +1233,24 @@ msgstr "canal interprocesso"
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr ""
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr ""
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Não foi encontrado no arquivo-tar"
 
-#: src/names.c:621
+#: src/names.c:615
 #, fuzzy, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Não foi encontrado no arquivo-tar"
@@ -1258,7 +1275,7 @@ msgid ""
 "Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
 msgstr ""
 
-#: src/tar.c:334
+#: src/tar.c:336
 #, fuzzy
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
@@ -1278,7 +1295,7 @@ msgstr ""
 "  %s -tvf arquivo.tar         # Lista todos os arquivos em arquivo.tar.\n"
 "  %s -xf arquivo.tar          # Extrai todos os arquivos de arquivo.tar\n"
 
-#: src/tar.c:343
+#: src/tar.c:345
 #, fuzzy
 msgid ""
 "The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
@@ -1300,87 +1317,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:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr ""
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr ""
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr ""
 
-#: src/tar.c:377
+#: src/tar.c:379
 #, fuzzy
 msgid "create a new archive"
 msgstr "Final-de-arquivo inesperado no arquivo-tar"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr ""
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr ""
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr ""
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr ""
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr ""
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr ""
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr ""
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr ""
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr ""
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr ""
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1388,559 +1405,572 @@ msgid ""
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr ""
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr ""
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr ""
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr ""
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr ""
 
-#: src/tar.c:435
+#: src/tar.c:437
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 
-#: src/tar.c:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr ""
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr ""
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr ""
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr ""
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr ""
 
-#: src/tar.c:454
+#: src/tar.c:456
 #, fuzzy
 msgid "extract files to standard output"
 msgstr "Erro ao escrever para saída padrão"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr ""
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr ""
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr ""
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr ""
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr ""
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr ""
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:472
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr ""
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr ""
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr ""
 
-#: src/tar.c:477
+#: src/tar.c:479
 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:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr ""
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr ""
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr ""
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr ""
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr ""
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr ""
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr ""
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr ""
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr ""
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
 msgstr ""
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr ""
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr ""
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr ""
 
-#: src/tar.c:535
+#: src/tar.c:537
 #, fuzzy
 msgid "create/list/extract multi-volume archive"
 msgstr "Impossível verificar arquivos-tar multi-volume"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr ""
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr ""
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr ""
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr ""
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr ""
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr ""
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr ""
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr ""
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr ""
 
-#: src/tar.c:561
+#: src/tar.c:563
 #, fuzzy
 msgid "Archive format selection:"
 msgstr "Opções de formato do arquivo-tar conflitantes"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr ""
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr ""
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr ""
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr ""
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr ""
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr ""
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr ""
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr ""
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr ""
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr ""
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr ""
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
 
-#: src/tar.c:592
+#: src/tar.c:594
 #, fuzzy
 msgid "Compression options:"
 msgstr "Opções de compressão conflitantes"
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:596
+#: src/tar.c:598
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr ""
 
-#: src/tar.c:598
+#: src/tar.c:603
 #, fuzzy
 msgid "filter the archive through gzip"
 msgstr "%s: arquivo é o arquivo-tar; não será arquivado"
 
-#: src/tar.c:602
+#: src/tar.c:607
 #, fuzzy
 msgid "filter the archive through compress"
 msgstr "%s: arquivo é o arquivo-tar; não será arquivado"
 
-#: src/tar.c:605
+#: src/tar.c:610
 #, fuzzy
 msgid "filter the archive through lzma"
 msgstr "%s: arquivo é o arquivo-tar; não será arquivado"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "%s: arquivo é o arquivo-tar; não será arquivado"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr ""
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr ""
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr ""
 
-#: src/tar.c:615
+#: src/tar.c:622
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 
-#: src/tar.c:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr ""
 
-#: src/tar.c:617
+#: src/tar.c:624
 #, fuzzy
 msgid "change to directory DIR"
 msgstr "Impossível mudar o diretório de trabalho"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr ""
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr ""
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr ""
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr ""
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr ""
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr ""
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr ""
 
-#: src/tar.c:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/tar.c:639
+#: src/tar.c:648
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 
-#: src/tar.c:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
 msgstr ""
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr ""
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr ""
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr ""
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr ""
 
-#: src/tar.c:654
+#: src/tar.c:663
 #, fuzzy
 msgid "don't strip leading `/'s from file names"
 msgstr "Removendo `%.*s' inicial dos nomes dos membros"
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:658
+#: src/tar.c:667
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr ""
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr ""
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr ""
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr ""
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr ""
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr ""
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:676
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/tar.c:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr ""
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr ""
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr ""
 
-#: src/tar.c:699
+#: src/tar.c:709
 #, fuzzy
 msgid "wildcards do not match `/'"
 msgstr "O volume %s não casa com %s"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr ""
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1948,267 +1978,281 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr ""
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr ""
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr ""
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr ""
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr ""
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Não é possível especificar mais do que uma das opções \"-Acdtrux\""
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Opções de compressão conflitantes"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr " tipo de arquivo \"%s\" desconhecido\n"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 #, fuzzy
 msgid "Date sample file not found"
 msgstr "Arquivo de datas não encontrado"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Substituindo %s pelo formato de data desconhecido %s"
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr ""
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, fuzzy, c-format
 msgid "%s: file list already read"
 msgstr "%s: arquivo é o arquivo-tar; não será arquivado"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr ""
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Fator de blocagem inválido"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr "Aviso: a opção -I não é suportada; talvez a intenção fosse -j ou -T?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Tamanho da fita inválido"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Mais do que uma data limite"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: Grupo inválido"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Modo inválido informado na opção"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 #, fuzzy
 msgid "Invalid number"
 msgstr "Número de inode inválido"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Dono inválido"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Tamanho de registro inválido"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, 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:1834
+#: src/tar.c:1873
 #, fuzzy
 msgid "Invalid number of elements"
 msgstr "Tamanho da fita inválido"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
 msgstr ""
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, 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:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr ""
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "A opção antiga `%c' exige um argumento."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr ""
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 #, fuzzy
 msgid "Multiple archive files require `-M' option"
 msgstr "Múltiplos arquivos-tar é exigem a opção \"-M\""
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "Impossivel combinar --listed-incremental com --newer"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, fuzzy, c-format
 msgid "%s: Volume label is too long (limit is %lu byte)"
 msgid_plural "%s: Volume label is too long (limit is %lu bytes)"
 msgstr[0] "%s: O rótulo do volume é longo demais (o limite é %lu bytes)"
 msgstr[1] "%s: O rótulo do volume é longo demais (o limite é %lu bytes)"
 
-#: src/tar.c:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Impossível verificar arquivos-tar multi-volume"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Impossível verificar arquivos-tar compactados"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Impossível usar arquivos-tar compactados multi-volume"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "Impossível atualizar arquivos-tar compactados"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Recusando a criar um arquivo-tar vazio"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "As opções `-Aru' são incompatíveis com `-f -'"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Deve ser especificada uma das opções \"-Acdtrux\""
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Saída por erro atrasada pelos erros anteriores"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, fuzzy, c-format
@@ -2217,79 +2261,79 @@ msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: O arquivo encolheu %s bytes"
 msgstr[1] "%s: O arquivo encolheu %s bytes"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr ""
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr ""
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr ""
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr ""
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr ""
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, fuzzy, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "A string base-64 assinada do arquivo-tar %s está fora de faixa %s"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr ""
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr ""
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr ""
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, fuzzy, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "o valor do arquivo-tar %s está fora da faixa %s: %s..%s"
 
-#: src/xheader.c:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr ""
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr ""
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2452,97 +2496,107 @@ msgstr "N
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Erro de sistema desconhecido"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
 msgstr ""
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 #, fuzzy
 msgid "cannot seek"
 msgstr "Impossível fechar"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr " tipo de arquivo \"%s\" desconhecido\n"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "%s: Impossível saltar para %s"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr ""
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, fuzzy, c-format
 msgid "Command failed with status %d\n"
 msgstr "O processo filho morreu com o sinal %d"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr ""
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, fuzzy, c-format
 msgid "--stat requires file names"
 msgstr "--Nomes de arquivos truncados--\n"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr ""
@@ -2994,6 +3048,9 @@ msgstr ""
 #~ msgid "Written by John Gilmore and Jay Fenlason."
 #~ msgstr "Escrito por John Gilmore e Jay Fenlason."
 
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Saída por erro atrasada pelos erros anteriores"
+
 #~ msgid ""
 #~ "If a long option shows an argument as mandatory, then it is mandatory\n"
 #~ "for the equivalent short option also.\n"
index 9a93bd668cd0a83d59ce6e7034d62648985de5bc..eb358e38ace0408d4c0fe80e4db5120448314a81 100644 (file)
Binary files a/po/ro.gmo and b/po/ro.gmo differ
index a16812b71e42a1ace6c50f202257679c70dd48d6..acb222d57bf666c950aba20d67fbb84b22df526c 100644 (file)
--- a/po/ro.po
+++ b/po/ro.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.15.1\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\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"
@@ -82,7 +82,7 @@ msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr ""
 "Încercaþi `%s --help' sau `%s --usage'  pentru informaþii suplimentare.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Raportaþi bug-uri la %s.\n"
@@ -91,17 +91,17 @@ msgstr "Raporta
 msgid "Unknown system error"
 msgstr "Eroare sistem necunoscutã"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 #, fuzzy
 msgid "give this help list"
 msgstr "Afiºeazã aceastã listã de ajutor"
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 #, fuzzy
 msgid "give a short usage message"
 msgstr "Afiºeazã un scurt mesaj despre folosire"
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr "NUME"
@@ -114,11 +114,11 @@ msgstr ""
 msgid "SECS"
 msgstr ""
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 #, fuzzy
 msgid "print program version"
 msgstr "Afiºeazã versiunea programului"
@@ -137,7 +137,7 @@ msgstr "%s: op
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr ""
 
@@ -196,16 +196,16 @@ msgstr "%s: op
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: opþiunea `-W %s' nu permite un argument\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "memorie epuizatã"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Nu pot schimba directorul în care lucrez"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Nu pot salva directorul în care lucrez"
@@ -324,11 +324,23 @@ msgstr "`"
 msgid "'"
 msgstr "'"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr ""
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr ""
 
@@ -530,104 +542,104 @@ msgstr "Sf
 msgid "Garbage command"
 msgstr "Comandã gunoi"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Aceasta nu pare a fi o arhivã tar"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 #, fuzzy
 msgid "Total bytes written"
 msgstr "Numãr total octeþi scriºi: %s (%s, %s/s)\n"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr ""
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, fuzzy, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Numãr total octeþi scriºi: %s (%s, %s/s)\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(pipe)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "Valoare invalidã pentru record_size"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Nume arhivã nu a fost furnizat"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Nu pot verifica arhive atdin/stdout"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Arhiva este compresatã. Folosiþi opþiunea %s."
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Nu pot actualiza arhive comprimate"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "La începutul benzii, ieºim acum"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Prea multe erori, ieºim"
 
-#: src/buffer.c:678
-#, 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:698
+#: src/buffer.c:695
 #, 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:771
+#: src/buffer.c:716
+#, 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:793
 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:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek nu s-a oprit la limita unei înregistrãri"
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: conþine numãr volum invalid"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Depãºire domeniu numãr volum"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Preparã volum #%d pentru %s ºi apasã tasta return: "
 
-#: src/buffer.c:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "EOF unde era aºteptat rãspunsul utilizatorului"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "AVERTISMENT: Arhiva este incompletã"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -639,70 +651,76 @@ msgstr ""
 " !          Lanseazã un subshell\n"
 " ?          Afiºeazã aceastã listã de opþiuni\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Nici un volum nou; terminãm.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, fuzzy, c-format
 msgid "%s command failed"
 msgstr "`%s' comanda a eºuat"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, 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:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s nu este continuat pe acest volum"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s este de dimensiune greºitã (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Acest volum este în afara secvenþei"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arhiva nu este etichetatã sã se potriveascã cu %s"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Volumul %s nu se potriveºte cu %s"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, 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:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "rmtlseek nu s-a oprit la limita unei înregistrãri"
+
 #: src/compare.c:96
 #, c-format
 msgid "Could only read %lu of %lu byte"
@@ -714,8 +732,8 @@ msgstr[1] "Am putut citi doar %lu din %lu octe
 msgid "Contents differ"
 msgstr "Conþinuturile diferã"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "EOF neaºteptat în arhivã"
 
@@ -833,7 +851,7 @@ msgstr[1] "%s: Fi
 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:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr ""
 
@@ -862,7 +880,7 @@ msgstr "%s: fi
 msgid "%s: File removed before we read it"
 msgstr "%s: Fiºier ºters înainte de a-l putea citi"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 #, fuzzy
 msgid "directory not dumped"
 msgstr "%s: conþine o etichetã de director cache; nimic generat"
@@ -914,170 +932,170 @@ msgstr "%s: Director redenumit 
 msgid "Extracting contiguous files as regular files"
 msgstr "Extragem fiºiere contigue ca fiºiere normale"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Încerc extragerea link-urilor simbolice ca link-uri hard"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Citesc %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, 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:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "EOF neaºteptat în numele amestecate"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, fuzzy, 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:1184
+#: src/extract.c:1181
 #, fuzzy, c-format
 msgid "Current %s is newer or same age"
 msgstr "`%s' curent este mai nou"
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Nu am putut arhiva (backup) acest fiºier"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, fuzzy, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s: Nu pot redenumi ca %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "Nu-mi pot reveni din eroare: termin acum"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, fuzzy, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Directorul a fost redenumit"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Directorul a fost redenumit"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Directorul este nou"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Înregistrare timp invalidã"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 #, fuzzy
 msgid "Invalid modification time (seconds)"
 msgstr "Mod invalid furnizat ca opþiune"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr ""
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Numãr dispozitiv invalid"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Numãr inode invalid"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr ""
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr ""
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "EOF neaºteptat în arhivã"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr ""
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr ""
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr ""
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 #, fuzzy
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Argument densitate malformat: '%s'"
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 #, fuzzy
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Argument densitate malformat: '%s'"
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr ""
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Nu curãþ director: nu pot determina statistici"
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, 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:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: ªtergem %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Nu pot ºterge"
@@ -1097,19 +1115,19 @@ msgstr "bloc %s: ** Bloc de NUL-uri **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "bloc %s: ** Sfârºit de fiºier **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "bloc %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1117,68 +1135,68 @@ msgstr ""
 "lui doi"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:728
+#: src/list.c:737
 #, 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:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arhiva conþine antete în baza-64 depãºite"
 
-#: src/list.c:763
+#: src/list.c:772
 #, 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:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, 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:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " link cãtre %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " tip fiºier necunoscut %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Link Lung--\n"
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Nume Lung--\n"
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Antet Volum--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Continuat la octet %s--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Creez director:"
 
@@ -1215,24 +1233,24 @@ msgstr "canal 
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr ""
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr ""
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Nu a fost gãsit în arhivã"
 
-#: src/names.c:621
+#: src/names.c:615
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Lucrul cerut nu a fost gãsit în arhivã"
@@ -1257,7 +1275,7 @@ msgid ""
 "Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
 msgstr ""
 
-#: src/tar.c:334
+#: src/tar.c:336
 #, fuzzy
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
@@ -1285,7 +1303,7 @@ msgstr ""
 "  nil, existing   numeroteazã dacã existã backup numerotat, altfel simplu\n"
 "  never, simple   întotdeauna creazã backup simplu\n"
 
-#: src/tar.c:343
+#: src/tar.c:345
 #, fuzzy
 msgid ""
 "The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
@@ -1314,86 +1332,86 @@ msgstr ""
 "  nil, existing   numeroteazã dacã existã backup numerotat, altfel simplu\n"
 "  never, simple   întotdeauna creazã backup simplu\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr "Mod de operare principal:"
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr "listeazã conþinutul unei arhive"
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr "extrage fiºiere dintr-o arhivã"
 
-#: src/tar.c:377
+#: src/tar.c:379
 msgid "create a new archive"
 msgstr "creazã o nouã arhivã"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr "gãseºte diferenþele dintre arhive ºi sistemul de fiºiere"
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr "adaugã fiºiere la sfârºitul unei arhive"
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr "adaugã numai fiºierele mai noi decât copia din arhivã"
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr "adaugã fiºiere tar la o arhivã"
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "ºterge din arhivã (nu pe benzi magnetice!)"
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr "Modificatori operaþie:"
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr "manipuleazã eficient fiºierele rerefiate (sparse)"
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr "foloseºte vechiul format GNU pentru backup incremental"
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr "FIªIER"
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr "foloseºte noul format GNU pentru backup incremental"
 
-#: src/tar.c:407
+#: src/tar.c:409
 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:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr "NUMÃR"
 
-#: src/tar.c:409
+#: src/tar.c:411
 #, fuzzy
 msgid ""
 "process only the NUMBERth occurrence of each file in the archive; this "
@@ -1406,306 +1424,306 @@ 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:415
+#: src/tar.c:417
 #, fuzzy
 msgid "archive is seekable"
 msgstr "Arhiva este cãutabilã"
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr ""
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr "încearcã sã verifici arhiva dupã scrierea sa"
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr "ºterge fiºierele dupã ce acestea sunt adãugate la arhivã"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr "nu înlocui fiºierele existente la extragere"
 
-#: src/tar.c:435
+#: src/tar.c:437
 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:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr "supra-scrie fiºierele existente la extragere"
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr "ºterge fiecare fiºier înainte de a extrage peste acesta"
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr "goleºte ierarhiile înainte de a extrage un director"
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr "pãstrazã metadata directoarelor existente"
 
-#: src/tar.c:445
+#: src/tar.c:447
 #, fuzzy
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr "supra-scrie fiºierele existente la extragere"
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr ""
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
 msgstr "extrage fiºierele la ieºirea standard"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr "COMANDÃ"
 
-#: src/tar.c:456
+#: src/tar.c:458
 #, fuzzy
 msgid "pipe extracted files to another program"
 msgstr "extrage fiºierele la ieºirea standard"
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr ""
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr "Manipulare atribute fiºiere:"
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr "forþeazã NUME ca proprietar pentru fiºierele adãugate"
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr "forþeazã NUME ca grup pentru fiºierele adãugate"
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr "DATA-FIªIERULUI"
 
-#: src/tar.c:472
+#: src/tar.c:474
 #, 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:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr "SCHIMBÃRI"
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "forþeazã mod (simbolic) SCHIMBÃRI pentru fiºierele adãugate"
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr ""
 
-#: src/tar.c:477
+#: src/tar.c:479
 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:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr "nu extrage timpul de modificare al fiºierului"
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr "încearcã extragerea fiºierelor cu aceleaºi drepturi (ownership)"
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr "extrage fiºierele ca dvs. însuºi"
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr "foloseºte întotdeauna numere pentru numele utilizator/grup"
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr "sorteazã numele de extras sã se potriveascã cu arhiva"
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr "la fel ca -p ºi -s"
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr ""
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr "Selectare ºi schimbare unitate:"
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr "ARHIVÃ"
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr "foloseºte fiºier arhivã sau unitate ARHIVÃ"
 
-#: src/tar.c:513
+#: src/tar.c:515
 #, 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:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "foloseºte rmt COMANDàîn loc de rmt"
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr "foloseºte remote COMANDàîn loc de rsh"
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr "specificã unitate ºi densitate"
 
-#: src/tar.c:535
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
 msgstr "creazã/listeazã/extrage arhiva pe volume multiple"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "schimbã banda dupã scriere a NUMÃR x 1024 octeþi"
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr "ruleazã script la terminarea fiecãrei benzi (implicã -M)"
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr "foloseºte/actualizeazã numãrul de volum în FIªIER"
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr "Blocuri unitate:"
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr "BLOCURI"
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOCURI x 512 octeþi pe întregistrare"
 
-#: src/tar.c:552
+#: src/tar.c:554
 #, fuzzy
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "DIMENSIUNE octeþi pe înregistrare, multiplu de 12"
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "ignorã blocuri zero-uate în arhivã (înseamnã EOF)"
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "redimensioneazã bloc în timpul citirii (pentru pipe-uri BSD4.2"
 
-#: src/tar.c:561
+#: src/tar.c:563
 msgid "Archive format selection:"
 msgstr "Selecþie format arhivã:"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: src/tar.c:564
+#: src/tar.c:566
 #, fuzzy
 msgid "create archive of the given format"
 msgstr "creazã arhiva de formatul dat."
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr "FORMAT este unul din urmãtoarele"
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr "vechiul format tar V7"
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr "oldgnu    formatul GNU format ca pentru tar <= 1.12"
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr "formatul GNU tar 1.13.x"
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "formatul POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "formatul POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:577
+#: src/tar.c:579
 #, fuzzy
 msgid "same as pax"
 msgstr "ca ºi pax"
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr "ca ºi --format=v7"
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr "ca ºi --format=posix"
 
-#: src/tar.c:584
+#: src/tar.c:586
 #, fuzzy
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "cuvânt_cheie[[:]=valoare][,cuvânt_cheie[[:]=valoare], ...]"
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr "controleazã cuvintele cheie pax"
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr "TEXT"
 
-#: src/tar.c:587
+#: src/tar.c:589
 #, fuzzy
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
@@ -1714,178 +1732,191 @@ msgstr ""
 "creazã arhivã nu nume volum NUME. La listare/extragere, foloseºte TEXT ca "
 "pattern de globbing"
 
-#: src/tar.c:592
+#: src/tar.c:594
 #, fuzzy
 msgid "Compression options:"
 msgstr "Opþiunile de compresie sunt în conflict"
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:596
+#: src/tar.c:598
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr "filtrazã arhiva prin bzip2"
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr "filtreazã arhiva prin gzip"
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr "filtreazã arhiva prin compress"
 
-#: src/tar.c:605
+#: src/tar.c:610
 #, fuzzy
 msgid "filter the archive through lzma"
 msgstr "filtreazã arhiva prin gzip"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "filtreazã arhiva prin gzip"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr "PROG"
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr "filtreazã prin PROG (trebuie sã accepte -d)"
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr "Selecþie fiºier local:"
 
-#: src/tar.c:615
+#: src/tar.c:622
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 
-#: src/tar.c:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr "DIR"
 
-#: src/tar.c:617
+#: src/tar.c:624
 msgid "change to directory DIR"
 msgstr "schimbã în directorul DIR"
 
-#: src/tar.c:619
+#: src/tar.c:626
 #, 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:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr "-T citeºte nume terminate cu null, deactiveazã cu -C"
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr ""
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "PATTERN"
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr "exclude fiºiere, date ca un PATTERN"
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr "pattern-urile de excludere sunt listate în FIªIER"
 
-#: src/tar.c:631
+#: src/tar.c:640
 #, 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:634
+#: src/tar.c:643
 #, fuzzy
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "exclude directoarele ce conþin o etichetã cache"
 
-#: src/tar.c:637
+#: src/tar.c:646
 #, fuzzy
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "exclude directoarele ce conþin o etichetã cache"
 
-#: src/tar.c:639
+#: src/tar.c:648
 #, fuzzy
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr "exclude directoarele ce conþin o etichetã cache"
 
-#: src/tar.c:642
+#: src/tar.c:651
 #, fuzzy
 msgid "exclude everything under directories containing FILE"
 msgstr "exclude directoarele ce conþin o etichetã cache"
 
-#: src/tar.c:644
+#: src/tar.c:653
 #, fuzzy
 msgid "exclude directories containing FILE"
 msgstr "exclude directoarele ce conþin o etichetã cache"
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr "evitã coborârea automatã în directoare"
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr "stai în sistemul de fiºire local la creare arhivei"
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr "coboarã recursiv în directoare (implicit)"
 
-#: src/tar.c:654
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
 msgstr "nu elimina primul `/' din numele fiºierelor"
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:658
+#: src/tar.c:667
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr "NUME-MEMBRU"
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr "începe la membrul NUME-MEMBRU în arhivã"
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "stocheazã numai fiºiere mai noi decât DATA-FIªIERULUI"
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr "DATA"
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr "comparã data ºi timpul numai când a fost schimbatã data"
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr "CONTROL"
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr "fã backup înainte de ºtergere, alege CONTROL pentru versiuni"
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr "ªIR"
 
-#: src/tar.c:669
+#: src/tar.c:678
 #, fuzzy
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
@@ -1894,95 +1925,95 @@ 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:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:676
+#: src/tar.c:685
 #, 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:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/tar.c:687
+#: src/tar.c:697
 #, fuzzy
 msgid "ignore case"
 msgstr "în excluderi ignorã cazul caracterelor (minuscule/majuscule)"
 
-#: src/tar.c:689
+#: src/tar.c:699
 #, fuzzy
 msgid "patterns match file name start"
 msgstr "pattern-urile de excludere potrivesc începutul numelor de fiºiere"
 
-#: src/tar.c:691
+#: src/tar.c:701
 #, fuzzy
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr "pattern-urile de excludere potrivesc dupã orice / (implicit)"
 
-#: src/tar.c:693
+#: src/tar.c:703
 #, fuzzy
 msgid "case sensitive matching (default)"
 msgstr "excluderea depinde de caz (minuscule/majuscule) (implicit)"
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr ""
 
-#: src/tar.c:699
+#: src/tar.c:709
 #, fuzzy
 msgid "wildcards do not match `/'"
 msgstr "wildcard-urile în pattern-urile de excludere nu potrivesc '/'"
 
-#: src/tar.c:701
+#: src/tar.c:711
 #, fuzzy
 msgid "wildcards match `/' (default for exclusion)"
 msgstr "wildcard-urile din pattern-urile de excludere potrivesc '/' (implicit)"
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr "Ieºire informativã:"
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr "listeazã cu amãnunte fiºierele procesate"
 
-#: src/tar.c:711
+#: src/tar.c:721
 #, 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:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:727
 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:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1990,28 +2021,28 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr "afiºeazã datele de modificare a fiºierelor în UTC"
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr "trimite ieºire detaliatã în FIªIER"
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr "aratã numãrul blocului din arhivã pentru fiecare mesaj"
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr "cere confirmare pentru fiecare acþiune"
 
-#: src/tar.c:733
+#: src/tar.c:743
 #, fuzzy
 msgid "show tar defaults"
 msgstr "Aratã valorire implicite folosite de tar"
 
-#: src/tar.c:735
+#: src/tar.c:745
 #, fuzzy
 msgid ""
 "when listing or extracting, list each directory that does not match search "
@@ -2020,88 +2051,88 @@ msgstr ""
 "La listare sau extragere, listeazã fiecare director care nu se potriveºte cu "
 "criteriile de cãutare"
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr "Opþiuni compatibilitate:"
 
-#: src/tar.c:753
+#: src/tar.c:763
 #, 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:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr "Alte opþiuni:"
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Nu puteþi specifica mai mult de una dintre opþiunile `-Acdtrux'"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Opþiunile de compresie sunt în conflict"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr " tip fiºier necunoscut %s\n"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 #, fuzzy
 msgid "Date sample file not found"
 msgstr "Fiºier date nu a fost gãsit"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Înlocuim %s pentru format de datã necunoscut %s"
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, fuzzy, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr "Tratez data `%s' ca %s + %ld nanosecundã"
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, fuzzy, c-format
 msgid "%s: file list already read"
 msgstr "%s: fiºierul este în arhivã; nimic generat"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr ""
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2109,152 +2140,166 @@ msgstr ""
 "\n"
 "*Acest* tar foloseºte implicit:\n"
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Factor blocuri invalid"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr "Avertisment: opþiunea -I nu este suportatã; aþi dorit cumva -j sau -T?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Lungime de bandã invalidã"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Mai mult de o singurã datã limitã"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: Grup invalid"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Mod invalid furnizat ca opþiune"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr "Numãr invalid"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Proprietar invalid"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Dimensiune înregistrare invalidã"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Dimensiune înregistrare trebuie sã fie un multiplu de %d."
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr "Numãr invalid de elemente"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, fuzzy, c-format
 msgid "Malformed density argument: %s"
 msgstr "Argument densitate malformat: '%s'"
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, fuzzy, c-format
 msgid "Unknown density: `%c'"
 msgstr "Densitate necunoscutã: '%c'"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, 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:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr "[FIªIER]..."
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "Vechea opþiune `%c' necesitã un argument."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence n-are sens fãrã o listã de fiºiere"
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr "--occurrence nu poate fi folosit în modul de operare cerut"
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 msgid "Multiple archive files require `-M' option"
 msgstr "Fiºiere de arhivã multiple necesitã opþiunea `-M'"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "Nu puteþi combina --listed-incremental cu --newer"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Nu pot verifica arhive pe volume multiple"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Nu pot verifica arhive comprimate"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Nu pot folosi arhive comprimate pe volume multiple"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "Nu pot actualiza arhive comprimate"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option poate fi folosit numai pentru arhive POSIX"
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Refuz categoric sã creez o arhivã goalã"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "Opþiunile `-Aru' sunt incompatibile cu `-f -'"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Trebuie sã specificaþi una din opþiunile `-Acdtrux'"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Terminare cu eroare întârziatã de erori precedente"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, c-format
@@ -2263,82 +2308,82 @@ msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Fiºier scurtat cu %s octet"
 msgstr[1] "%s: Fiºier scurtat cu %s octeþi"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, fuzzy, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Cuvânt_cheie %s necunoscut sau încã neimplementat"
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Pattern-ul %s nu poate fi folosit"
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Cuvânt_cheie %s nu poate fi înlocuit (overridden)"
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 #, fuzzy
 msgid "Malformed extended header: missing length"
 msgstr "Antet extins malformat: lipseºte semnul egal"
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr ""
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, fuzzy, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "ªir în baza-64 (semnãtura arhivei) %s este în afara %s intervalului"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 #, fuzzy
 msgid "Malformed extended header: missing blank after length"
 msgstr "Antet extins malformat: lipseºte spaþiu liber dupã lungime"
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr "Antet extins malformat: lipseºte semnul egal"
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 #, fuzzy
 msgid "Malformed extended header: missing newline"
 msgstr "Antet extins malformat: lipseºte semnul egal"
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr ""
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, 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:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, fuzzy, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Antet extins malformat: lipseºte semnul egal"
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, fuzzy, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Antet extins malformat: lipseºte semnul egal"
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, fuzzy, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Antet extins malformat: lipseºte semnul egal"
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, fuzzy, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Antet extins malformat: lipseºte semnul egal"
@@ -2505,97 +2550,107 @@ msgstr "Num
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Eroare sistem necunoscutã"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
 msgstr ""
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 #, fuzzy
 msgid "cannot seek"
 msgstr "%s: Nu pot cãuta (seek) cãtre %s"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr " tip fiºier necunoscut %s\n"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "%s: Nu pot cãuta (seek) cãtre %s"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr ""
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr ""
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr ""
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, fuzzy, c-format
 msgid "--stat requires file names"
 msgstr "--Amestecat numele fiºierelor--\n"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr ""
@@ -2731,5 +2786,8 @@ msgstr ""
 #~ msgid "Error in writing to standard output"
 #~ msgstr "Eroare de scriere la ieºirea standard"
 
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Terminare cu eroare întârziatã de erori precedente"
+
 #~ msgid "Quitting now."
 #~ msgstr "Termin acum."
index d652a8a6fe5b44fe3ffc2ae15673e2fe9bd6660e..f9ee2395a46e041ec8d923838db5cbf431258cfc 100644 (file)
Binary files a/po/ru.gmo and b/po/ru.gmo differ
index 349a609a5a15673c1660e96898237c3a064983e5..901660ec6616a7131243d5f0c1808eb4cb265555 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.19\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
 "PO-Revision-Date: 2008-01-18 01:00+0200\n"
 "Last-Translator: Pavel Maryanov <acid_jack@ukr.net>\n"
 "Language-Team: Russian <gnu@mx.ru>\n"
@@ -83,7 +83,7 @@ msgstr ""
 "Попробуйте `%s --help' или `%s --usage' для получения дополнительной "
 "информации.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Отчеты об ошибках отправляйте на %s.\n"
@@ -92,15 +92,15 @@ msgstr "Отчеты об ошибках отправляйте на %s.\n"
 msgid "Unknown system error"
 msgstr "Неизвестная системная ошибка"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr "вывод этой справки"
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr "вывод короткого сообщения об использовании"
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr "ИМЯ"
@@ -113,11 +113,11 @@ msgstr "определяет название программы"
 msgid "SECS"
 msgstr "СЕК"
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr "ожидание в течение заданных СЕКУНД (по умолчанию 3600)"
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr "вывод версии программы"
 
@@ -135,7 +135,7 @@ msgstr "%s: Слишком много аргументов\n"
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(ОШИБКА ПРОГРАММЫ) Опция должна была быть распознана?!"
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr ""
 
@@ -194,16 +194,16 @@ msgstr "%s: опция `-W %s' не однозначна\n"
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: опция `-W %s' не разрешает использовать аргумент\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "память исчерпана"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Невозможно изменить рабочий каталог"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Невозможно сохранить рабочий каталог"
@@ -322,11 +322,23 @@ msgstr "`"
 msgid "'"
 msgstr "'"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr "^[yY]"
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr "^[nN]"
 
@@ -528,104 +540,104 @@ msgstr "Преждевременный конец файла"
 msgid "Garbage command"
 msgstr "Неверная команда"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Это не похоже на tar-архив"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 msgid "Total bytes written"
 msgstr "Всего записано байт"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr "Всего прочитано байт"
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Всего удалено байт: %s\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(канал)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "Неверное значение для record_size"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Не указано имя архива"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Невозможно проверить архив на stdin/stdout"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Архив сжат. Используйте опцию %s"
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Невозможно обновить сжатые архивы"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "Начало ленты, завершение работы"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Слишком много ошибок, завершение работы"
 
-#: src/buffer.c:678
-#, 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:698
+#: src/buffer.c:695
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "Размер записи = %lu блок"
 msgstr[1] "Размер записи = %lu блоков"
 
-#: src/buffer.c:771
+#: src/buffer.c:716
+#, 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:793
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 "Невозможно вернуться назад на один архивный файл; он может быть нечитаемым "
 "без -i"
 
-#: src/buffer.c:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek не остановился на границе записи"
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: содержит неверный номер тома"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Переполнение номера тома"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Приготовьте том Номер %d для %s и нажмите Enter: "
 
-#: src/buffer.c:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "Конец файла вместо ожидаемого ответа пользователя"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "ПРЕДУПРЕЖДЕНИЕ: Архив не полный"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -637,65 +649,66 @@ msgstr ""
 " q             Выход из tar\n"
 " y или [нов.строка] Продолжение операциия\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Порождение подпроцесса командного процессора\n"
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Вывод этого списка\n"
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Нет нового тома, завершение работы.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr "Не указано имя имя файла. Попробуйте ещё раз.\n"
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Неверные входные данные. Наберите ? для получения справки.\n"
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, c-format
 msgid "%s command failed"
 msgstr "Сбой команды %s"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s, возможно, продолжается на этом томе - в заголовке находится усечённое имя"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s не продолжается на этом томе"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s является неверным размером (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Этот том нарушает последовательность"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Метка архива не соответствует %s"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Том %s не соответствует %s"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -703,6 +716,11 @@ msgstr ""
 "%s: слишком длинное имя файла для сохранения в многотомном заголовке GNU; "
 "обрезано"
 
+#: src/buffer.c:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "rmtlseek не остановился на границе записи"
+
 #: src/compare.c:96
 #, c-format
 msgid "Could only read %lu of %lu byte"
@@ -714,8 +732,8 @@ msgstr[1] "Можно было прочитать только %lu байт из
 msgid "Contents differ"
 msgstr "Содержимое отличается"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Неожиданный конец файла в архиве"
 
@@ -832,7 +850,7 @@ msgstr[1] "%s: Файл урезан на %s байт; дополнен нуля
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: файл находится на другой файловой системе; не сброшен"
 
-#: src/create.c:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr "содержимое не сброшено"
 
@@ -861,7 +879,7 @@ msgstr "%s: файл является архивом; не сброшен"
 msgid "%s: File removed before we read it"
 msgstr "%s: Файла удален до его считывания"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr "каталог не сброшен"
 
@@ -912,165 +930,165 @@ msgstr "%s: Каталог переименован до того, как мог
 msgid "Extracting contiguous files as regular files"
 msgstr "Непрерывные файлы извлекаются как обычные"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Выполняется попытка извлечь символические ссылки как жесткие"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Считывается %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Невозможно извлечь -- файл продолжается с другого тома"
 
-#: src/extract.c:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 msgid "Unexpected long name header"
 msgstr "Непредвиденный длинный заголовок имени"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
 msgstr "%s: Неизвестный тип файла `%c', извлечён как обычный файл"
 
-#: src/extract.c:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Текущий %s более новый или такого же возраста"
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Невозможно было выполнить резервное копирование этот файла"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Невозможно переименовать %s в %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "Неисправимая ошибка: завершение работы"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Каталог был переименован из %s"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Каталог был переименован"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Каталог новый"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Неверная временная метка"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 msgid "Invalid modification time (seconds)"
 msgstr "Неверное время изменения (секунды) "
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr "Неверное время изменения (наносекунды)"
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Неверный номер устройства"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Неверный номер inode"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr "Слишком длинное поле при чтении из snapshot-файла"
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr "Ошибка чтения snapshot-файла"
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 msgid "Unexpected EOF in snapshot file"
 msgstr "Неожиданный конец файла snapshot-файле"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr "Неожиданное значения поля в snapshot-файле"
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr "Отсутствует указатель конца записи"
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr "Неверный формат инкрементного файла"
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Неподдерживаемая версия инкрементного формата: %<PRIuMAX>"
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "Неверно сформирован dump-каталог: ожидался '%c', а найден %#3o"
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Неверно сформирован dump-каталог: 'X' повторяется"
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Неверно сформирован dump-каталог: пустое имя в 'R'"
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr "Неверно сформирован dump-каталог: перед 'T' не стоит 'R'"
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Неверно сформирован dump-каталог: пустое имя в 'T'"
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr "Неверно сформирован dump-каталог: ожидался '%c', а найден конец данных"
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Неверно сформирован dump-каталог: 'X' ни разу не использован"
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Невозможно создать временный каталог с помощью шаблона %s"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Каталог не удалён: невозможно выполнить stat"
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: Каталог находится на другом устройстве: не удален"
 
-#: src/incremen.c:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Удаляется %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Невозможно удалить"
@@ -1090,19 +1108,19 @@ msgstr "блок %s: ** Блок нулей **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "блок %s: ** Конец файла **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "блок %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1110,68 +1128,68 @@ msgstr ""
 "дополнение до двух"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:728
+#: src/list.c:737
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Восьмеричное значение архива %.*s за пределами диапазона %s"
 
-#: src/list.c:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Архив содержит устаревающие заголовки base-64"
 
-#: src/list.c:763
+#: src/list.c:772
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Архив подписан строкой base-64 %s за пределами диапазона %s"
 
-#: src/list.c:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Значение архива %s за пределами %s диапазона %s..%s"
 
-#: src/list.c:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " ссылка на %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " неизвестный тип файла %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Длинная ссылка--\n"
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Длинное имя--\n"
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Заголовок тома--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Продолжение с позиции %s--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Создание каталога:"
 
@@ -1208,25 +1226,25 @@ msgstr "межпроцессорный канал"
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr "В именах файлов используются символы подстановки."
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
 "Используйте --wildcards, чтобы задействовать эти символы, или --no-wildcards,"
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr "чтобы отключить вывод этого предупреждения."
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Не найден в архиве"
 
-#: src/names.c:621
+#: src/names.c:615
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Требуемое вхождение не найдено в архиве"
@@ -1253,7 +1271,7 @@ msgstr ""
 "Неизвестный стиль цитирования `%s'. Воспользуйтесь `%s --quoting-style=help' "
 "для получения полного списка. "
 
-#: src/tar.c:334
+#: src/tar.c:336
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1272,7 +1290,7 @@ msgstr ""
 "архиве archive.tar.\n"
 "  tar -xf archive.tar          # Извлечение всех файлов из archive.tar.\n"
 
-#: src/tar.c:343
+#: src/tar.c:345
 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 "
@@ -1293,87 +1311,87 @@ msgstr ""
 "простые\n"
 "  never, simple   всегда создавать простые резервные копии\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr "Основной режим работы:"
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr "вывод списка содержимого архива"
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr "извлечение файлов из архива"
 
-#: src/tar.c:377
+#: src/tar.c:379
 msgid "create a new archive"
 msgstr "создание нового архива"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr "поиск различий между архивом и файловой системой"
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr "добавление файлов в конец архива"
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr "добавление в архив только более новых файлов"
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr "присоедининие tar-файлов к архиву"
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "удаление из архива (не на магнитных лентах!)"
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr "проверка метки тома архива и выход"
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr "Модификаторы:"
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr "эффективная обработка разрежённых файлов"
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr "MAJOR[.MINOR]"
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 "установить версию используемого формата разрежения (подразумевает --sparse)"
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr "обработка добавочного резервирования старого формата GNU"
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr "ФАЙЛ"
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr "обработка добавочного резервирования нового формата GNU"
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr "не завершать работу при ненулевом статусе для нечитаемых файлов"
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr "N"
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1385,121 +1403,121 @@ msgstr ""
 "list, и когда список файлов задан либо в командной строке, либо через опцию -"
 "T. По умолчанию N равен 1."
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr "доступен поиск по архиву"
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr "Управление перезаписью:"
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr "попытка проверить архив после его записи"
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr "удаление файлов после их добавления в архив"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr "не перезаписывать существующие файлы при извлечении"
 
-#: src/tar.c:435
+#: src/tar.c:437
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 "не перезаписывать существующие файлы, которые более новые, чем их копии в "
 "архиве"
 
-#: src/tar.c:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr "перезапись существующих файлов при извлечении"
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr "удаление каждого файла до извлечения поверх него"
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr "очистка всей иерархии до извлечения каталога"
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr "сохранение метаданных существующих каталогов"
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr "перезапись существующих файлов при извлечении (по умолчанию)"
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr "Выбор выходного потока:"
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
 msgstr "извлекать файлы на стандартный вывод"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr "КОМАНДА"
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr "перенаправлять извлечённые файлы в другую программу"
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr "игнорировать коды завершения дочерних процессов"
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr "считать ненулевые коды завершения дочерних процессов как ошибку"
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr "Обработка атрибутов файлов:"
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr ""
 "принудительно устанаваливать ИМЯ в качестве владельца для добавленных файлов"
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr ""
 "принудительно устанаваливать ИМЯ в качестве группы для добавленных файлов"
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr "ДАТА-ИЛИ-ФАЙЛ"
 
-#: src/tar.c:472
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "устанаваливать для добавленных файлов mtime из ДАТЫ-ИЛИ-ФАЙЛА"
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr "РЕЖИМ"
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr ""
 "принудительно устанавливать (символьный) РЕЖИМ доступа для добавляемых файлов"
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr "СПОСОБ"
 
-#: src/tar.c:477
+#: src/tar.c:479
 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 "
@@ -1509,29 +1527,29 @@ msgstr ""
 "после чтения (СПОСОБ='replace'; используется по умолчанию) или не установки "
 "времени в первую очередь (СПОСОБ='system')"
 
-#: src/tar.c:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr "не извлекать время изменения файла"
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr "попытаться извлечь файлы с тем же владельцем"
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr "извлекать файлы как свои собственные"
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr "использовать числа вместо имён владельца/группы"
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 "извлекать информацию о правах доступа к файлу (по умолчанию для "
 "суперпользователя)"
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1539,15 +1557,15 @@ msgstr ""
 "применять umask пользователя при извлечении прав доступа из архива (по "
 "умолчанию для обычных пользователей)"
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr "сортировать извлекаемые имена в том же порядке, что и в архиве"
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr "эквивалент -p и -s"
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1555,140 +1573,140 @@ msgstr ""
 "не устанавливать время изменения и права доступа извлечённых каталогов до "
 "завершения процесса извлечения"
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "отменить действие опции --delay-directory-restore"
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr "Выбор и переключение устройств:"
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr "АРХИВ"
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr "использовать файл или устройство АРХИВ"
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
 msgstr "файл архива является локальным, даже если содержит двоеточие"
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "использовать указанную КОМАНДУ rmt вместо rmt"
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr "использовать удалённую КОМАНДУ вместо rsh"
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr "указать устройство и плотность"
 
-#: src/tar.c:535
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
 msgstr "создание/листинг/извлечение многотомных архивов"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "сменить ленту после записи ЧИСЛО x 1024 байт"
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr ""
 "запустить скрипт по окончании каждой ленты (подразумевается использование -М)"
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr "использовать/обновлять номера тома в ФАЙЛЕ"
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr "Разбиение на блоки:"
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr "БЛОКИ"
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr "число БЛОКОВ x 512 байт на запись"
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "ЧИСЛО байт на запись, кратное 512"
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "игнорировать нулевые блоки в архиве (т.е. EOF)"
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "заново разбивать на блоки при чтении (для каналов 4.2BSD)"
 
-#: src/tar.c:561
+#: src/tar.c:563
 msgid "Archive format selection:"
 msgstr "Формата архива:"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr "ФОРМАТ"
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr "создать архив в указанном формате"
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr "ФОРМАТОМ может быть:"
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr "старый формат tar V7"
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr "формат GNU как в tar <= 1.12"
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr "формат GNU tar 1.13.х"
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "формат POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "формат POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr "эквивалент pax"
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr "эквивалент --format=v7"
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr "эквивалент --format=posix"
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "keyword[[:]=значение][,keyword[[:]=значение]]..."
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr "управляющие ключевые слова pax"
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr "ТЕКСТ"
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1696,85 +1714,98 @@ msgstr ""
 "создать архив с именем тома ТЕКСТ; при листинге/извлечении использовать "
 "ТЕКСТ в качестве шаблона подстановки"
 
-#: src/tar.c:592
+#: src/tar.c:594
 #, fuzzy
 msgid "Compression options:"
 msgstr "Конфликт опций сжатия"
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:596
+#: src/tar.c:598
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr "пропустить архив через bzip2"
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr "пропустить архив через gzip"
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr "пропустить архив через compress"
 
-#: src/tar.c:605
+#: src/tar.c:610
 #, fuzzy
 msgid "filter the archive through lzma"
 msgstr "пропустить архив через gzip"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "пропустить архив через gzip"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr "ПРОГ"
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr "пропустить архив через ПРОГ (должна поддерживать -d)"
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr "Выбор локальных файлов:"
 
-#: src/tar.c:615
+#: src/tar.c:622
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr "добавить указаный ФАЙЛ в архив (полезно, если имя начинается с дефиса)"
 
-#: src/tar.c:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr "КАТАЛОГ"
 
-#: src/tar.c:617
+#: src/tar.c:624
 msgid "change to directory DIR"
 msgstr "перейти в КАТАЛОГ"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr "загрузить из ФАЙЛА имена для извлечения или создания"
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr "-T читает строки, оканчивающиеся нулём, отключает опцию -C"
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr "убрать кавычки с имён файлов, прочитанных с опцией -T (по умолчанию)"
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr "не убирать кавычки с имён файлов, прочитанных с опцией -T"
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "ШАБЛОН"
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr "исключать файлы, определённые ШАБЛОНОМ"
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr "исключать шаблоны, перечисленных в ФАЙЛЕ"
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1782,90 +1813,90 @@ msgstr ""
 "исключать содержимое каталогов с файлом CACHEDIR.TAG за исключением самого "
 "файла с тегами"
 
-#: src/tar.c:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "исключать всё содержимое каталогов, содержащих файл CACHEDIR.TAG"
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "исключать каталоги, содержащие файл CACHEDIR.TAG"
 
-#: src/tar.c:639
+#: src/tar.c:648
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr "исключать каталоги, содержащие ФАЙЛ, за исключением самого ФАЙЛА"
 
-#: src/tar.c:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
 msgstr "исключать всё содержимое каталогов, содержащих ФАЙЛ"
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr "исключать каталоги с ФАЙЛОМ"
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr "исключать каталоги CVS"
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr "отключить автоматический спуск в каталоги"
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr "оставаться в локальной файловой системе при создании архива"
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr "рекурсивный спуск по каталогам (по умолчанию)"
 
-#: src/tar.c:654
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
 msgstr "не удалять начальные `/' из имен файлов"
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 "следовать по символьным ссылкам и сохранять файлы, на которые они указывают"
 
-#: src/tar.c:658
+#: src/tar.c:667
 #, fuzzy
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 "следовать по символьным ссылкам и сохранять файлы, на которые они указывают"
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr "ИМЯ-ЧЛЕНА"
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr "начинать с члена ИМЯ-ЧЛЕНА в архиве"
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "сохранять только те файлы, которые новее ДАТЫ-ИЛИ-ФАЙЛА"
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr "ДАТА"
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr "сравнивать дату и время, только если изменены данные"
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr "УПРАВЛЕНИЕ"
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr "делать копию перед удалением, УПРАВЛЕНИЕ выбора версий"
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr "СТРОКА"
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -1873,93 +1904,93 @@ msgstr ""
 "делать копию перед удалением, переопределяет обычный суффикс ('~', если "
 "только он не переопределён переменной окружения SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr "Преобразвание имён файлов:"
 
-#: src/tar.c:676
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 "удалять указанное ЧИСЛО начальных компонентов из имён файлов перед "
 "извлечением"
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr "РАСШИРЕНИЕ"
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "использовать замену РАСШИРЕНИЯ sed'ом для преобразования имён файлов"
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 "Параметры шаблонов подстановки для имён файлов (вляют на шаблюны включения и "
 "исключения):"
 
-#: src/tar.c:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr "игноририровать регистр"
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr "шаблоны начала имени файла"
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr "шаблоны после любого '/' (по умолчанию для исключаемых)"
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr "с учётом регистра (по умолчанию)"
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr "использовать маски (по умолчанию для исключаемых)"
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr "точное соответствие строке"
 
-#: src/tar.c:699
+#: src/tar.c:709
 msgid "wildcards do not match `/'"
 msgstr "маски не соответствуют '/'"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr "маски соответствут '/' (по умолчанию для исключаемых)"
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr "Вывод информации:"
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr "подробный листинг обрабатываемых файлов"
 
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 "вывод сообщений о ходе выполнения через каждые ЧИСЛО записей (по умолчанию "
 "10)"
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr "вывод сообщений, если сохранены не все ссылки"
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr "СИГНАЛ"
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1971,27 +2002,27 @@ msgstr ""
 "SIGQUIT, SIGINT, SIGUSR1 и SIGUSR2. Также разрешается использовать имена без "
 "префикса SIG"
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr "вывод даты изменения файла в формате UTC"
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr "отправить подробный вывод данных в FILE"
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr "выводить номера блоков архива в каждом сообщении"
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr "запрашивать подтверждение для каждого действия"
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr "показать значения tar по умолчанию"
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -1999,31 +2030,31 @@ msgstr ""
 "при выводе листинга или извлечении показывать все каталоги, не "
 "соответствующем условию поиска"
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr "показывать имена файлов или архивов после преобразования"
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr "СТИЛЬ"
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "установить стиль цитирования имён. Значения для СТИЛЯ см. ниже"
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr "дополнительно цитировать символы из СТРОКИ"
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr "отключить цитирование символов из СТРОКИ"
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr "Опции совместимости:"
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2031,56 +2062,56 @@ msgstr ""
 "при создании, эквивалент --old-archive; при извлечении, эквивалент --no-same-"
 "owner"
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr "Другие опции:"
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr "отключить использование некоторых потенциально опасных опций"
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Указать можно не более одной опции `-Acdtrux'"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Конфликт опций сжатия"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Неизвестное название сигнала: %s"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 msgid "Date sample file not found"
 msgstr "Файл с образцом даты не найден"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "%s заменяется на неизвестный формат даты %s"
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr "Опция `%s': дата '%s' рассматривается как %s"
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, c-format
 msgid "%s: file list already read"
 msgstr "%s: список файлов уже прочитан"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: в прочитанном имени файла присутствует пустой символ"
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr "Допустимые агрументы для опций --quoting-style:"
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2088,152 +2119,166 @@ msgstr ""
 "\n"
 "Значения по умолчанию *этого* tar:\n"
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Неверный размер ёмкости блока"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr ""
 "Предупреждение: опция -I не поддерживается; может имелась в виду -j или -T?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Неверная длина ленты"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Больше одной пороговой даты"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr "Неверное значение версии разрежения"
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' не поддерживается на этой платформе"
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr "значение --checkpoint не явлется целым числом"
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: Неверная группа"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "В опции указан неверный режим доступа"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr "Неверное число"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Неверный владелец"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Неверный размер записи"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Размер записи должен быть кратен %d."
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr "Неверное число элементов"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr "Разрешается использовать только одну опцию --to-command"
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Неверно сформирован аргумент плотности: %s"
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
 msgstr "Неизвестная плотность: '%c'"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, c-format
 msgid "Options `-[0-7][lmh]' not supported by *this* tar"
 msgstr "Опции `-[0-7][lmh]' не поддерживаются *этим* tar'ом"
 
-#: src/tar.c:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr "[ФАЙЛ]..."
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "Для старой опции `%c' нужно указать аргумент."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence бесполезна без списка файлов"
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr "--occurrence не может быть использована запрошеном режиме работы"
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 msgid "Multiple archive files require `-M' option"
 msgstr "Для нескольких файлов архивов требуется опция `-M'"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "Нельзя комбинировать --listed-incremental с --newer"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Невозможно проверить многотомные архивы"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Невозможно проверить сжатые архивы"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Невозможно использовать многотомные сжатые архивы"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 msgid "Cannot concatenate compressed archives"
 msgstr "Невозможно объединить сжатые архивы"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option может быть использована только с архивами POSIX"
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Робкий отказ от создания пустого архива"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "Опции `-Aru' не совместимы с `-f -'"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Вы должны указать одну из опций `-Acdtrux'"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Выход, отложенный по результатам предыдущих ошибок"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, c-format
@@ -2242,54 +2287,54 @@ msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Файл урезан на %s байт"
 msgstr[1] "%s: Файл урезан на %s байт"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Неизвестное или ещё не реализованное ключевое слово %s"
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Шаблон %s не может быть использован"
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Ключевое слово %s не может быть перекрыто"
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr "Неверно сформирован расширенный заголовок: отсутствует длина"
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr "Длина расширенного заголовка за пределами допустимого диапазона"
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Длина расширенного заголовка %*s за пределами допустимого диапазона"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 "Неверно сформирован расширенный заголовок: после длины отсутствует пробел"
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr "Неверно сформирован расширенный заголовок: отсутствует знак равенства "
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr ""
 "Неверно сформирован расширенный заголовок: отсутствует знак новой строки"
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr "Игнорируется неизвестное клоючевое слово расширенного заголовка `%s'"
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
 msgstr ""
@@ -2298,29 +2343,29 @@ msgstr ""
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:812
+#: src/xheader.c:810
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Расширенный заголовок %s=%s за пределами диапазона %s..%s"
 
-#: src/xheader.c:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Неверно сформирован расширенный заголовок: неверный %s=%s"
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Неверно сформирован расширенный заголовок: превышен %s=%s"
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 "Неверно сформирован расширенный заголовок: неверный %s: непредвиденный "
 "разделитель %c"
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2497,105 +2542,122 @@ msgstr "Число за пределами допустимого диапазо
 msgid "Negative size: %s"
 msgstr "Отрицательный размер: %s"
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr "Сбой stat(%s)"
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Ошибка разбора числа возле `%s'"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, c-format
 msgid "Unknown date format"
 msgstr "Неизвестный формат даты"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr "[АРГУМЕНТЫ...]"
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
 msgstr "невозможно открыть `%s'"
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 msgid "cannot seek"
 msgstr "невозможно найти"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr "в имени файла присутствует пустой символ"
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "невозможно вывести разрежённые файлы на стандартный вывод; используйте опцию "
 "--file"
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "неверная маска (возле `%s')"
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Неизвестное поле `%s'"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "невозможно установить время в `%s'"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Команда успешно выполнена\n"
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Сбой команды; состояние: %d\n"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Команда завершена по сигналу %d\n"
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Команда остановлена по сигналу %d\n"
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Команда сбросила дамп памяти\n"
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr "Команда завершена\n"
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, c-format
 msgid "--stat requires file names"
 msgstr "для опции --stat нужны имена файлов"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr "слишком много аргументов"
 
+#, fuzzy
+#~ msgid "cancel effect of the previous --transform-links option"
+#~ msgstr "отменить действие опции --delay-directory-restore"
+
 #~ msgid "[.]NUMBER"
 #~ msgstr "[.]ЧИСЛО"
 
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Выход, отложенный по результатам предыдущих ошибок"
+
 #~ msgid "block size"
 #~ msgstr "размер блока"
 
index 17d033a83a434d49218001c7edfd7b43742bfa0d..e142a50d5f5245d78e9dda70ff18003900088da0 100644 (file)
Binary files a/po/sk.gmo and b/po/sk.gmo differ
index 63754466e8a9ddbf98bf47272552d94ceaa4e4ef..56768dffd23af59e38001841cabd92551574e32e 100644 (file)
--- a/po/sk.po
+++ b/po/sk.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tar- \n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\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"
@@ -81,7 +81,7 @@ msgstr ""
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr "Viac informácií získate príkazom `%s --help'.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, fuzzy, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
@@ -94,15 +94,15 @@ msgstr ""
 msgid "Unknown system error"
 msgstr "Neznáma systémová chyba"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr ""
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr ""
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr ""
@@ -115,11 +115,11 @@ msgstr ""
 msgid "SECS"
 msgstr ""
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr ""
 
@@ -137,7 +137,7 @@ msgstr "%s: prep
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr ""
 
@@ -196,16 +196,16 @@ msgstr "%s: prep
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: prepínaè `-W %s' musí by» zadaný bez argumentu\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "Pamä» vyèerpaná"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Pracovný adresár nie je mo¾né zmeni»"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Pracovný adresár nie je mo¾né uchova»"
@@ -325,11 +325,23 @@ msgstr "`"
 msgid "'"
 msgstr "'"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr ""
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr ""
 
@@ -533,103 +545,103 @@ msgstr "Pred
 msgid "Garbage command"
 msgstr "Neznámy príkaz"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Toto pravdepodobne nie je tar archiv"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 #, fuzzy
 msgid "Total bytes written"
 msgstr "Celkom zapísané bajtov: %s (%sB, %sB/s)\n"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr ""
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, fuzzy, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Celkom zapísané bajtov: %s (%sB, %sB/s)\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(rúra)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "Chybná hodnota pre veµkos» záznamu"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Meno archívu nebolo zadané"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Stdin/Stdout archív nie je mo¾né otvori»"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr ""
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Komprimovaný archív nie je mo¾né aktualizova»"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "Páska na zaèiatku, konèím"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Príli¹ mnoho chýb, konèím"
 
-#: src/buffer.c:678
-#, 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:698
+#: src/buffer.c:695
 #, 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:771
+#: src/buffer.c:716
+#, 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:793
 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:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: vracia chybné èíslo zväzku"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Èíslo zväzku preteèené"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, 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:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "Namiesto u¾ívateµskej odpovede bol zadaný koniec súboru"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "VAROVANIE: Archiv je nekompletný"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -641,69 +653,74 @@ msgstr ""
 " !          Vytvorenie podshellu\n"
 " ?          Vypísanie tejto nápovedy\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Nie je nový zväzok; konèím.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, fuzzy, c-format
 msgid "%s command failed"
 msgstr "'%s' príkaz zlyhal"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, 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:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s nepokraèuje na tomto zväzku"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s je chybnej då¾ky (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, 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:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Pre vyhodnotenie vzorky `%s' musí by» archív pomenovaný"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Zväzok %s nezodpovedá vzorke %s"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 
+#: src/buffer.c:1619
+msgid "write did not end on a block boundary"
+msgstr ""
+
 #: src/compare.c:96
 #, fuzzy, c-format
 msgid "Could only read %lu of %lu byte"
@@ -715,8 +732,8 @@ msgstr[1] "D
 msgid "Contents differ"
 msgstr "Obsah sa lí¹i"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Neoèekávaný koniec archívu"
 
@@ -833,7 +850,7 @@ msgstr[1] "%s: S
 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:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr ""
 
@@ -862,7 +879,7 @@ msgstr "%s: s
 msgid "%s: File removed before we read it"
 msgstr "%s: Súbor zmazaný skôr ako mohl by» èítaný"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr ""
 
@@ -914,168 +931,168 @@ msgstr ""
 msgid "Extracting contiguous files as regular files"
 msgstr "Súvisle ulo¾ené súbory rozbaµujem ako obyèajné súbory"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Skú¹am rozbali» symbolické odkazy ako pevné odkazy"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Èítanie z %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, 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:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "Neoèakávaný koniec v rozsekanom mene"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, fuzzy, 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:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr ""
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Tento súbor nebolo mo¾né zálohova»"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, fuzzy, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s: nie je mo¾né premenova» na %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "Z chyby sa nie je mo¾né zotavi»: ukonèuje sa"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, fuzzy, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Adresár bol premenovaný"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Adresár bol premenovaný"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Adresár je nový"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Neplatný èas súboru"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 #, fuzzy
 msgid "Invalid modification time (seconds)"
 msgstr "Zadáné chybné práva"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr ""
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Neplatné èíslo zariadenia"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Neplatné èíslo i-uzlu"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr ""
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr ""
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "Neoèekávaný koniec archívu"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr ""
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr ""
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr ""
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr ""
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr ""
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, 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:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr ""
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, 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:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Ma¾em %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Nedá sa zmaza»"
@@ -1095,19 +1112,19 @@ msgstr "blok %s: ** Blok NUL **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Konec súboru **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1115,68 +1132,68 @@ msgstr ""
 "complement"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:728
+#: src/list.c:737
 #, 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:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Archív obsahuje zastaralé base-64 hlavièky"
 
-#: src/list.c:763
+#: src/list.c:772
 #, 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:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, 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:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " odkaz na %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " neznámy typ súboru %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr ""
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr ""
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Hlavièka zväzku--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Pokraèované od %s bajtu--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Vytváram adresár:"
 
@@ -1213,24 +1230,24 @@ msgstr "meziprocesov
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr ""
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr ""
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: V archíve nenájdený"
 
-#: src/names.c:621
+#: src/names.c:615
 #, fuzzy, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: V archíve nenájdený"
@@ -1255,7 +1272,7 @@ msgid ""
 "Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
 msgstr ""
 
-#: src/tar.c:334
+#: src/tar.c:336
 #, fuzzy
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
@@ -1274,7 +1291,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:343
+#: src/tar.c:345
 #, fuzzy
 msgid ""
 "The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
@@ -1300,87 +1317,87 @@ msgstr ""
 "                  existujú, inak tvorí jednoduché\n"
 "  never, simple   tvorí v¾dy jednoduché zálo¾né kópie súborov\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr ""
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr ""
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr ""
 
-#: src/tar.c:377
+#: src/tar.c:379
 #, fuzzy
 msgid "create a new archive"
 msgstr "Neoèekávaný koniec archívu"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr ""
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr ""
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr ""
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr ""
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr ""
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr ""
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr ""
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr ""
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr ""
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr ""
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1388,559 +1405,572 @@ msgid ""
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr ""
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr ""
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr ""
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr ""
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr ""
 
-#: src/tar.c:435
+#: src/tar.c:437
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 
-#: src/tar.c:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr ""
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr ""
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr ""
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr ""
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr ""
 
-#: src/tar.c:454
+#: src/tar.c:456
 #, fuzzy
 msgid "extract files to standard output"
 msgstr "Chyba pri zápise na ¹tandardný výstup"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr ""
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr ""
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr ""
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr ""
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr ""
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr ""
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:472
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr ""
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr ""
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr ""
 
-#: src/tar.c:477
+#: src/tar.c:479
 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:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr ""
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr ""
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr ""
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr ""
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr ""
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr ""
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr ""
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr ""
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr ""
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
 msgstr ""
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr ""
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr ""
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr ""
 
-#: src/tar.c:535
+#: src/tar.c:537
 #, fuzzy
 msgid "create/list/extract multi-volume archive"
 msgstr "Víczväzkový archív nie je mo¾né otvori»"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr ""
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr ""
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr ""
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr ""
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr ""
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr ""
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr ""
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr ""
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr ""
 
-#: src/tar.c:561
+#: src/tar.c:563
 #, fuzzy
 msgid "Archive format selection:"
 msgstr "Odporujúce si archívne formáty"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr ""
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr ""
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr ""
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr ""
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr ""
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr ""
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr ""
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr ""
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr ""
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr ""
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr ""
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
 
-#: src/tar.c:592
+#: src/tar.c:594
 #, fuzzy
 msgid "Compression options:"
 msgstr "Odporujúce si kompresné prepínaèe"
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:596
+#: src/tar.c:598
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr ""
 
-#: src/tar.c:598
+#: src/tar.c:603
 #, fuzzy
 msgid "filter the archive through gzip"
 msgstr "%s: súbor je archiv; nearchivovaný"
 
-#: src/tar.c:602
+#: src/tar.c:607
 #, fuzzy
 msgid "filter the archive through compress"
 msgstr "%s: súbor je archiv; nearchivovaný"
 
-#: src/tar.c:605
+#: src/tar.c:610
 #, fuzzy
 msgid "filter the archive through lzma"
 msgstr "%s: súbor je archiv; nearchivovaný"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "%s: súbor je archiv; nearchivovaný"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr ""
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr ""
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr ""
 
-#: src/tar.c:615
+#: src/tar.c:622
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 
-#: src/tar.c:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr ""
 
-#: src/tar.c:617
+#: src/tar.c:624
 #, fuzzy
 msgid "change to directory DIR"
 msgstr "Pracovný adresár nie je mo¾né zmeni»"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr ""
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr ""
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr ""
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr ""
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr ""
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr ""
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr ""
 
-#: src/tar.c:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/tar.c:639
+#: src/tar.c:648
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 
-#: src/tar.c:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
 msgstr ""
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr ""
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr ""
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr ""
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr ""
 
-#: src/tar.c:654
+#: src/tar.c:663
 #, fuzzy
 msgid "don't strip leading `/'s from file names"
 msgstr "Odstraòujem úvodné `%.*s' z názvov súborov"
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:658
+#: src/tar.c:667
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr ""
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr ""
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr ""
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr ""
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr ""
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr ""
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:676
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/tar.c:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr ""
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr ""
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr ""
 
-#: src/tar.c:699
+#: src/tar.c:709
 #, fuzzy
 msgid "wildcards do not match `/'"
 msgstr "Zväzok %s nezodpovedá vzorke %s"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr ""
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1948,269 +1978,283 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr ""
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr ""
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr ""
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr ""
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr ""
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Viac ako jeden prepínaè `-Acdtrux' nemô¾e by» zadaných"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Odporujúce si kompresné prepínaèe"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr " neznámy typ súboru %s\n"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 #, fuzzy
 msgid "Date sample file not found"
 msgstr "Dátumový súbor nebol nájdený"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, 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:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr ""
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, fuzzy, c-format
 msgid "%s: file list already read"
 msgstr "%s: súbor je archiv; nearchivovaný"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr ""
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Neplatný poèet bajtov na záznam"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr ""
 "Varovanie: prepínaè -I nie je podporovaný; pravdepodobne budete chcie» "
 "pou¾i» -j alebo -T!"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Neplatná då¾ka pásky"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Viac ako jeden poèiatoèný dátum"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: Chybná skupina"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Zadáné chybné práva"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 #, fuzzy
 msgid "Invalid number"
 msgstr "Neplatné èíslo i-uzlu"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Neplatný vlastník"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Chybná veµkos» záznamu"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Veµkos» záznamu musí by» násobok %d."
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 #, fuzzy
 msgid "Invalid number of elements"
 msgstr "Neplatná då¾ka pásky"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
 msgstr ""
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, 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:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr ""
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "Prepínaè `%c' vy¾aduje argument."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr ""
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 #, fuzzy
 msgid "Multiple archive files require `-M' option"
 msgstr "Viac archivaèných súborov vy¾aduje prepínaè `-M'"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "--listed-incremental a --newer nie je mo¾né kombinova»"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Víczväzkový archív nie je mo¾né otvori»"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Komprimovaný archív nie je mo¾né otvori»"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Viaczväzkový komprimovaný archív nie je mo¾né vytvori»"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "Komprimovaný archív nie je mo¾né aktualizova»"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Vytvorenie prázdneho archívu odmietnuté."
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 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:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Musíte zada» jeden z prepínaèov `-Acdtrux'"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Za behu programu nastala chyba"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, fuzzy, c-format
@@ -2219,79 +2263,79 @@ msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Súbor skrátený o bajtov: %s"
 msgstr[1] "%s: Súbor skrátený o bajtov: %s"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr ""
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr ""
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr ""
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr ""
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr ""
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, fuzzy, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Hodnota base-64 typu %s je mimo %s rozsah"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr ""
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr ""
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr ""
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, 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:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr ""
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr ""
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2454,97 +2498,107 @@ msgstr "
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Neznáma systémová chyba"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
 msgstr ""
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 #, fuzzy
 msgid "cannot seek"
 msgstr "Nedá sa zatvori»"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr " neznámy typ súboru %s\n"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "%s: Nedá sa zmeni» pozícia v súbore na %s"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr ""
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, fuzzy, c-format
 msgid "Command failed with status %d\n"
 msgstr "Potomok bol ukonèený signálom %d"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr ""
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, fuzzy, c-format
 msgid "--stat requires file names"
 msgstr "--Rozdelené meno súboru--\n"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr ""
@@ -3009,6 +3063,9 @@ msgstr ""
 #~ msgid "Written by John Gilmore and Jay Fenlason."
 #~ msgstr "Autori: John Gilmore a Jay Fenlason."
 
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Za behu programu nastala chyba"
+
 #~ msgid ""
 #~ "If a long option shows an argument as mandatory, then it is mandatory\n"
 #~ "for the equivalent short option also.\n"
index b78f86d93e242693917b39c73d066304ce9a3c17..662e306f6853f8d86bcb8f286de2d7808681a6f0 100644 (file)
Binary files a/po/sl.gmo and b/po/sl.gmo differ
index 44b25cf7e0477b634629bcf832a4b66de34566e8..1a1fc35290ba8a0ba106c7f678ba85bcb460f264 100644 (file)
--- a/po/sl.po
+++ b/po/sl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.19\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
 "PO-Revision-Date: 2007-10-17 10:26+0200\n"
 "Last-Translator: Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>\n"
 "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
@@ -83,7 +83,7 @@ msgstr " [IZBIRA...]"
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr "Poskusite »%s --help« ali »%s --usage« za izčrpnejša navodila.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Poročila o napakah javite na %s.\n"
@@ -92,15 +92,15 @@ msgstr "Poročila o napakah javite na %s.\n"
 msgid "Unknown system error"
 msgstr "Neznana sistemska napaka"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr "poda ta seznam pomoči"
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr "poda kratka navodila za uporabo"
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr "IME"
@@ -113,11 +113,11 @@ msgstr "nastavi ime programa"
 msgid "SECS"
 msgstr "SEK"
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr "premor SEK sekund (privzeto 3600)"
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr "izpis izdaje programa"
 
@@ -135,7 +135,7 @@ msgstr "%s: Preveč argumentov\n"
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(PROGRAMSKA NAPAKA) Izbira bi morala biti prepoznana?!"
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 #, fuzzy
 msgid "write error"
 msgstr "Pisanje zapisa\n"
@@ -195,16 +195,16 @@ msgstr "%s: izbira »-W %s« je dvoumna\n"
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: izbira »-W %s« ne dovoljuje argumenta\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "zmanjkalo pomnilnika"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Ni mogoče izvedeti trenutnega imenika"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Delovnega imenika ni mogoče shraniti"
@@ -330,11 +330,23 @@ msgstr "»"
 msgid "'"
 msgstr "«"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr "^[dDjJ]"
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr "^[nN]"
 
@@ -535,67 +547,58 @@ msgstr "Predčasen znak za konec datoteke"
 msgid "Garbage command"
 msgstr "Neveljaven ukaz"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "To ne deluje kot arhiv ,tar'"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 msgid "Total bytes written"
 msgstr "Skupno zapisanih bajtov"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr "Skupno prebranih bajtov"
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, fuzzy, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Skupno izbrisanih bajtov: %s\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(cev)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "Neveljavna vrednost za dolžino zapisa (record_size)"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Ime arhiva ni podano"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Arhivov na stdin/stdout ni mogoče preveriti"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Arhiv je stisnjen. Uporabite izbiro %s"
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Stisnjenega arhiva ni mogoče ažurirati"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "Na začetku traku, končujem"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Preveč napak, končujem"
 
-#: src/buffer.c:678
-#, c-format
-msgid "Unaligned block (%lu byte) in archive"
-msgid_plural "Unaligned block (%lu bytes) in archive"
-msgstr[0] "Neporavnan blok (%lu bajtov) v arhivu"
-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:698
+#: src/buffer.c:695
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
@@ -604,37 +607,46 @@ msgstr[1] "Dolžina zapisa = %lu blok"
 msgstr[2] "Dolžina zapisa = %lu bloka"
 msgstr[3] "Dolžina zapisa = %lu bloki"
 
-#: src/buffer.c:771
+#: src/buffer.c:716
+#, c-format
+msgid "Unaligned block (%lu byte) in archive"
+msgid_plural "Unaligned block (%lu bytes) in archive"
+msgstr[0] "Neporavnan blok (%lu bajtov) v arhivu"
+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:793
 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:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek se ni ustavil na meji zapisa"
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: vsebuje neveljavno številko dela"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Prekoračitev številke dela"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Pripravite del #%d za %s in pritisnite Return: "
 
-#: src/buffer.c:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "Znak EOF na mestu, kjer se pričakuje odgovor uporabnika"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "POZOR: Arhiv nepopoln"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -645,64 +657,65 @@ msgstr ""
 " q             Končamo tar\n"
 " y, newline    Nadaljujemo z delovanjem\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Poženemo ukazno podlupino\n"
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             Ta seznam uzazov\n"
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Novega dela ni, konec.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Neveljaven vnos. Vtipkajte ? za pomoč.\n"
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, c-format
 msgid "%s command failed"
 msgstr "ukaz %s neuspešen"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, 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:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s se ne nadaljuje v tem delu"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s je napačne velikosti (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Ta del ne sodi v zaporedje"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arhiv ni označen skladno z %s"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Del %s ne ustreza %s"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -710,6 +723,11 @@ msgstr ""
 "%s: ime datoteke je predolgo za zapis v zaglavje GNU večdelnega arhiva; "
 "porezano"
 
+#: src/buffer.c:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "Arhiv %s se ne konča s koncem bloka"
+
 #: src/compare.c:96
 #, c-format
 msgid "Could only read %lu of %lu byte"
@@ -723,8 +741,8 @@ msgstr[3] "Prebrati je bilo moč samo %lu od %lu bajtov"
 msgid "Contents differ"
 msgstr "Vsebina se razlikuje"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Nepričakovan znak za konec datoteke v arhivu"
 
@@ -846,7 +864,7 @@ 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:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr "vsebina ni iznešena"
 
@@ -875,7 +893,7 @@ msgstr "%s: datoteka je arhiv; brez iznosa"
 msgid "%s: File removed before we read it"
 msgstr "%s: Datoteka je bila odstranjena, preden smo jo prebrali"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr "imenik ni iznašen"
 
@@ -929,167 +947,167 @@ msgid "Extracting contiguous files as regular files"
 msgstr "Neprekinjene datoteke izvlečemo kot navadne"
 
 # POZOR! Grdo!
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Simbolne povezave poskusimo dearhivirati kot trde"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Branje %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, 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:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 msgid "Unexpected long name header"
 msgstr "Nepričakovano zaglavje z dolgim imenom"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
 msgstr "%s: Neznana vrsta datoteke »%c«, dearhiviramo kot navadno datoteko"
 
-#: src/extract.c:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Obstoječa »%s« je novejša ali enako stara"
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Varnostne kopije te datoteke ni moč napraviti"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Preimenovanje %s v %s ni mogoče"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "Napake ni moč popraviti: zapuščamo"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Imenik je bil preimenovan z %s"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Imenik je bil preimenovan"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Imenik je nov"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Neveljavna oznaka časa"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 msgid "Invalid modification time (seconds)"
 msgstr "Neveljaven čas spremembe (sekunde)"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr "Neveljaven čas spremembe (nanosekunde)"
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Neveljavna številka enote"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Neveljavna številka inoda"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr "Predolgo polje pri branju trenutnega posnetka"
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr "Napaka pri branju trenutnega posnetka"
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 msgid "Unexpected EOF in snapshot file"
 msgstr "Nepričakovan znak za konec datoteke v trenutnem posnetku"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr "Nepričakovana vrednost polja v trenutnem posnetku"
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr "Manjkajoč zaključek zapisa"
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr "Okvarjen inkrementalni zapis datoteke"
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Nepodprta različica inkrementalnega zapisa: %<PRIuMAX>"
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 #, fuzzy
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Okvarjen argument gostote: »%s«"
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 #, fuzzy
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Okvarjen argument gostote: »%s«"
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, fuzzy, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Ni mogoče rezervirati pomnilnika za bločni faktor %d"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Imenika ne čistimo: statistika zanj ni dosegljiva"
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, 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:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Brišemo %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Odstranitev ni mogoča"
@@ -1109,87 +1127,87 @@ msgstr "blok %s: ** Blok znakov NUL **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Konec datoteke **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Na mestu v glavi, kjer pričakujemo številčno vrednost %s, so presledki"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:717
+#: src/list.c:726
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
 "Osmiška vrednost arhiva %.*s izven obsega %s; privzemamo dvojiški komplement"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:728
+#: src/list.c:737
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Osmiška vrednost arhiva %.*s izven obsega %s"
 
-#: src/list.c:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arhiv vsebuje zastarele glave oblike base-64"
 
-#: src/list.c:763
+#: src/list.c:772
 #, 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:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Arhiv vsebuje %.*s na mestu, kjer pričakujemo številčno vrednost %s"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:845
+#: src/list.c:854
 #, 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:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " povezava na %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " neznan tip datoteke %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Dolga povezava--\n"
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Dolgo ime--\n"
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Glava dela--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Nadaljevanje pri bajtu %s--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Ustvarjamo imenik:"
 
@@ -1226,24 +1244,24 @@ msgstr "medprocesni kanal"
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr ""
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr ""
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Ni najdeno v arhivu"
 
-#: src/names.c:621
+#: src/names.c:615
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Zahtevane pojavitve ni moč najti v arhivu"
@@ -1269,7 +1287,7 @@ msgid ""
 msgstr ""
 "Neznan slog narekovajev »%s«. Poskusite »%s --quoting-style=help« za seznam."
 
-#: src/tar.c:334
+#: src/tar.c:336
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1290,7 +1308,7 @@ msgstr ""
 "  tar -xf arhiv.tar             # Izvlečemo vse datoteke iz arhiva arhiv."
 "tar.\n"
 
-#: src/tar.c:343
+#: src/tar.c:345
 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 "
@@ -1313,86 +1331,86 @@ msgstr ""
 "                  sicer enostavne\n"
 "  never, simple   vedno enostavne varnostne kopije\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr "Glavni načini delovanja:"
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr "izpis vsebine arhiva"
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr "izvlečenje datoteke iz arhiva"
 
-#: src/tar.c:377
+#: src/tar.c:379
 msgid "create a new archive"
 msgstr "ustvarjanje novega arhiva"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr "iskanje razlik med arhivom in datotečnim sistemom"
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr "dodajanje datotek na konec arhiva"
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr "dodajanje novih datotek, če so novejše od že arhiviranih"
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr "zlivanje arhivov"
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "brisanje datotek iz arhiva (ne deluje na traku!)"
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr "Določila delovanja:"
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr "ekonomično ravnanje z razpršenimi datotekami"
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr "stari zapis GNU za inkrementalne arhive"
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr "DATOTEKA"
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr "novi zapis GNU za inkrementalne arhive"
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr "nadaljuj z branjem, tudi če datoteke ni moč prebrati"
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr "N"
 
-#: src/tar.c:409
+#: src/tar.c:411
 #, fuzzy
 msgid ""
 "process only the NUMBERth occurrence of each file in the archive; this "
@@ -1405,118 +1423,118 @@ msgstr ""
 "list, pri čemer je seznam datotek podan bodisi v ukazni vrstici, bodisi z "
 "izbiro -T. Privzeta vrednost N je 1."
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr "po arhivu je mogoče iskati"
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr "Nadzor nad pisanjem prek:"
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr "s poskusom preverjanja zapisanega arhiva"
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr "pobriši datoteke, potem ko so arhivirane"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr "pri izvlačenju ne piši prek obstoječih datotek"
 
-#: src/tar.c:435
+#: src/tar.c:437
 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:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr "pri izvlačenju piši prek obstoječih datotek"
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr ""
 "s poprejšnjim brisanjem obstoječih datotek pri izvlačenju istoimenskih novih"
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr "izprazni hierarhije pred izvlačenjem imenikov"
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr "ohrani metainformacije o obstoječih imenikih"
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr "pri izvlačenju piši prek metapodatkov obstoječih imenikov (privzeto)"
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr "Izbira izhodnega toka:"
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
 msgstr "datoteke izvleci na standardni izhod"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr "UKAZ"
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr "datoteke napelji na vhod drugega programa"
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr "prezri izhodne kode hčerinskih procesov"
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr "obravnavaj neničelne izhodne kode hčerinskih procesov kot napako"
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr "Ravnanje z atributi datotek:"
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr "pri dodajanju datotek spremenimo lastnika v IME"
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr "pri dodajanju datotek spremenimo skupino v IME"
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr "DATUM-ČAS"
 
-#: src/tar.c:472
+#: src/tar.c:474
 #, fuzzy
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "shrani le datoteke, novejše od DATUM-ČAS"
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr "SPREMEMBE"
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "zahtevaj (simbolne) SPREMEMBE zaščite za dodane datoteke"
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr "METODA"
 
-#: src/tar.c:477
+#: src/tar.c:479
 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 "
@@ -1526,29 +1544,29 @@ msgstr ""
 "branju (METODA=replace, privzeto) ali tako, da se časa sploh ne nastavi "
 "(METODA=system)"
 
-#: src/tar.c:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr "brez izvlačenja časa spremembe"
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr "z ohranitvijo lastništva, če je mogoče"
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr "pri izvlačenju prepišemo lastništvo nase"
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr "s številčnimi vrednostmi UID/GID namesto imen"
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 "izvleci podatke o dovoljenjih za dostop do datotek (privzeto za "
 "administratorja)"
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1556,15 +1574,15 @@ msgstr ""
 "uporabi uporabnikovo masko umask pri izvlačenju dovoljenj za dostop do "
 "datotek (privzeto za uporabnike)"
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr "imena razvrstimo tako, da se ujemajo z arhivom"
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr "isto kot -p in -s skupaj"
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1572,140 +1590,140 @@ msgstr ""
 "počakaj do končanega izvlačenja, preden nastavimo čase sprememb in "
 "dovoljenja za dostop za izvlečene imenike"
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "prekliči učinek izbire --delay-directory-restore"
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr "Izbira enote in preklapljanje:"
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr "ARHIV"
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr "uporabi datoteko ali enoto ARHIV"
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
 msgstr "arhiv je lokalen kljub dvopičju v imenu datoteke"
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "uporabi navedeni UKAZ rmt namesto rmt"
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr "uporabi nelokalen UKAZ namesto rsh"
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr "določi enoto in gostoto zapisa"
 
-#: src/tar.c:535
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
 msgstr "ustvari/pregledaj/izvleci arhiva v več delih"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "menjava traku po ŠT x 1024 zapisanih bajtih"
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr "poženi SKRIPT po koncu traku (privzema -M)"
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr "uporabimo/ažuriramo število dela v DATOTEKI"
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr "Bločna razdelitev enote:"
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr "BLOKI"
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr "dolžina zapisa BLOKI × 512 bajtov"
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "ŠTEVILO bajtov v zapisu (večkratnik 512)"
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "ne meni se za bloke ničel (EOF)"
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "razdeli na bloke ob branju (cevovodi 4.2BSD)"
 
-#: src/tar.c:561
+#: src/tar.c:563
 msgid "Archive format selection:"
 msgstr "Izbira oblike arhiva:"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr "OBLIKA"
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr "ustvari arhiv v navedeni obliki"
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr "OBLIKA je nekaj od naštetega:"
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr "oblika starega V7 tar"
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr "stara oblika GNU tar <= 1.12"
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr "oblika GNU tar 1.13.x"
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "oblika POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "oblika POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr "isto kot pax"
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr "isto kot --format=v7"
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr "isto kot --format=posix"
 
-#: src/tar.c:584
+#: src/tar.c:586
 #, fuzzy
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "ključna-beseda[[:]=vrednost][,ključna-beseda[[:]=vrednost],...]"
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr "krmilne ključne besede pax"
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr "VZOREC"
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1713,180 +1731,193 @@ msgstr ""
 "ustvari arhiv z imenom dela IME; pri izpisu seznama/izvlečku je lahko IME "
 "regularni izraz za ime dela"
 
-#: src/tar.c:592
+#: src/tar.c:594
 #, fuzzy
 msgid "Compression options:"
 msgstr "Nasprotujoče si izbire glede stiskanja arhiva"
 
-#: src/tar.c:594
+#: src/tar.c:596
 #, fuzzy
 msgid "use archive suffix to determine the compression program"
 msgstr "Pisanje na vhod programa za stiskanje ne gre"
 
-#: src/tar.c:596
+#: src/tar.c:598
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr "filtriraj arhiv skozi bzip2"
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr "filtriraj arhiv skozi gzip"
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr "filtriraj arhiv skozi compress"
 
-#: src/tar.c:605
+#: src/tar.c:610
 #, fuzzy
 msgid "filter the archive through lzma"
 msgstr "filtriraj arhiv skozi gzip"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "filtriraj arhiv skozi gzip"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr "PROGRAM"
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr "filtriraj skozi PROGRAM (sprejemati mora izbiro -d)"
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr "Izbira lokalne datoteke:"
 
-#: src/tar.c:615
+#: src/tar.c:622
 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:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr "IMENIK"
 
-#: src/tar.c:617
+#: src/tar.c:624
 msgid "change to directory DIR"
 msgstr "pomik v navedeni IMENIK"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr "preberi seznam datotek z navedene DATOTEKE"
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr "-T prebere z \\000 terminirana imena; onemogoči -C"
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr "odstrani narekovaje iz imen datotek, prebranih s -T (privzeto)"
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr "ne odstrani narekovajev iz imen datotek, prebranih s -T"
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "VZOREC"
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr "brez datotek, ki jih opisuje VZOREC"
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr "brez datotek, ustrezajočim vzorcem, prebranih z DATOTEKE"
 
-#: src/tar.c:631
+#: src/tar.c:640
 #, fuzzy
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr "brez imenikov, ki vsebujejo značko medpomnilnika"
 
-#: src/tar.c:634
+#: src/tar.c:643
 #, fuzzy
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "brez imenikov, ki vsebujejo značko medpomnilnika"
 
-#: src/tar.c:637
+#: src/tar.c:646
 #, fuzzy
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "brez imenikov, ki vsebujejo značko medpomnilnika"
 
-#: src/tar.c:639
+#: src/tar.c:648
 #, fuzzy
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr "brez imenikov, ki vsebujejo značko medpomnilnika"
 
-#: src/tar.c:642
+#: src/tar.c:651
 #, fuzzy
 msgid "exclude everything under directories containing FILE"
 msgstr "brez imenikov, ki vsebujejo značko medpomnilnika"
 
-#: src/tar.c:644
+#: src/tar.c:653
 #, fuzzy
 msgid "exclude directories containing FILE"
 msgstr "brez imenikov, ki vsebujejo značko medpomnilnika"
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr "podimenikov ne vključujemo avtomatično"
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr "pri arhiviranju izpusti datoteke na nelokalnih datotečnih sistemih"
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr "rekurzivno vključi vse podimenike"
 
-#: src/tar.c:654
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
 msgstr "ne odstrani vodilnih »/« iz imen datotek"
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "sledi simbolnim povezavam; arhiviraj/iznesi ciljne datoteke"
 
-#: src/tar.c:658
+#: src/tar.c:667
 #, fuzzy
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "sledi simbolnim povezavam; arhiviraj/iznesi ciljne datoteke"
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr "IME"
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr "začenši z navedenim IMENOM v arhivu"
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "shrani le datoteke, novejše od DATUM-ČAS"
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr "DATUM"
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr "primerjaj datum in uro le, kadar se podatki spremenijo"
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr "TIP"
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 "varnostna kopija pred brisanjem, z možnostjo izbire TIPA varnostne kopije"
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr "NIZ"
 
-#: src/tar.c:669
+#: src/tar.c:678
 #, fuzzy
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
@@ -1895,97 +1926,97 @@ msgstr ""
 "varnostna kopija pred brisanjem; prekličemo običajno PRIPONO (»~«, razen če "
 "lupinska spremenljivka SIMPLE_BACKUP_SUFFIX določa drugače)"
 
-#: src/tar.c:674
+#: src/tar.c:683
 #, fuzzy
 msgid "File name transformations:"
 msgstr "Druge izbire:"
 
-#: src/tar.c:676
+#: src/tar.c:685
 #, fuzzy
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "izpusti ŠTEVILO vodilnih komponent iz imen datotek"
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr "IZRAZ"
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/tar.c:687
+#: src/tar.c:697
 #, fuzzy
 msgid "ignore case"
 msgstr "izključitveni vzorci ne razlikujejo med malimi in velikimi črkami"
 
-#: src/tar.c:689
+#: src/tar.c:699
 #, fuzzy
 msgid "patterns match file name start"
 msgstr "izključitveni vzorci opisujejo celotno ime datoteke"
 
-#: src/tar.c:691
+#: src/tar.c:701
 #, fuzzy
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr ""
 "izključitveni vzorci opisujejo ime datoteke od znaka »/« dalje (privzeto)"
 
-#: src/tar.c:693
+#: src/tar.c:703
 #, fuzzy
 msgid "case sensitive matching (default)"
 msgstr ""
 "izključitveni vzorci razlikujejo med malimi in velikimi črkami (privzeto)"
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr "uporabi nadomestne znake (privzeto za izločanje)"
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr "dobesedno ujemanje nizov"
 
-#: src/tar.c:699
+#: src/tar.c:709
 #, fuzzy
 msgid "wildcards do not match `/'"
 msgstr "izključitveni vzorci ne opisujejo »/«"
 
-#: src/tar.c:701
+#: src/tar.c:711
 #, fuzzy
 msgid "wildcards match `/' (default for exclusion)"
 msgstr "izključitveni vzorci opisujejo tudi »/« (privzeto)"
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr "Informativni izpisi:"
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr "z izčrpnim izpisom obdelanih datotek"
 
-#: src/tar.c:711
+#: src/tar.c:721
 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:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr "izpiši sporočilo, če niso zapisane vse povezave"
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr "SIGNAL"
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1993,27 +2024,27 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr "z izpisom časov sprememb datotek v UTC"
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr "zapiši izčrpno poročilo v DATOTEKO"
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr "z izpisom zaporednega bloka v arhivu ob vsakem sporočilu"
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr "vprašaj za potrditev pri vsakem koraku"
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr "prikaži privzete nastavitve"
 
-#: src/tar.c:735
+#: src/tar.c:745
 #, fuzzy
 msgid ""
 "when listing or extracting, list each directory that does not match search "
@@ -2022,31 +2053,31 @@ msgstr ""
 "Pri izpisu seznama ali izvlačenju izpiši vsak imenik, ki ne ustreza iskalnim "
 "pogojem"
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr "SLOG"
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "nastavi slog navajanja imen; glej spodaj za veljavne SLOGE"
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr "Združljivostne izbire:"
 
-#: src/tar.c:753
+#: src/tar.c:763
 #, fuzzy
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
@@ -2055,57 +2086,57 @@ msgstr ""
 "pri ustvarjanju arhiva isto kot --old-archive; pri izvlačenju isto kot --no-"
 "same-owner"
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr "Druge izbire:"
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Naenkrat je dovoljena največ ena od izbir »-Acdtrux«"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Nasprotujoče si izbire glede stiskanja arhiva"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr " neznan tip datoteke %s\n"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 #, fuzzy
 msgid "Date sample file not found"
 msgstr "Datoteke z datumom ni najti"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Nadomeščamo %s za neznan format datuma %s"
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr ""
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, fuzzy, c-format
 msgid "%s: file list already read"
 msgstr "%s: datoteka je arhiv; brez iznosa"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr ""
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2113,109 +2144,115 @@ msgstr ""
 "\n"
 "Privzete vrednosti *tega* programa tar:\n"
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Neveljaven faktor blokiranja"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr "Opozorilo: izbira -I ni podprta; ste želeli -j ali -T?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Neveljavna dolžina traku"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Več kot en pražni podatek"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: Neveljavna skupina"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Podana zaščita ni veljavna"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr "Neveljavno število"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Neveljaven lastnik"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Neveljavna dolžina zapisa"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Dolžina zapisa mora biti večkratnik %d."
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr "Neveljavno število elementov"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, fuzzy, c-format
 msgid "Malformed density argument: %s"
 msgstr "Okvarjen argument gostote: »%s«"
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, fuzzy, c-format
 msgid "Unknown density: `%c'"
 msgstr "Neznana gostota: »%c«"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, 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:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr "[DATOTEKA]..."
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "Stara izbira »%c« zahteva argument."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence nima pomena brez seznama datotek"
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr "--occurrence ni mogoče uporabiti v zahtevanem načinu delovanja"
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 msgid "Multiple archive files require `-M' option"
 msgstr "Več arhivskih datotek zahteva izbiro »-M«"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "Izbire --listed-incremental ni mogoče kombinirati z --newer"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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)"
@@ -2224,43 +2261,51 @@ 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Arhivov v več delih ni mogoče preveriti"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Stisnjenega arhiva ni mogoče preveriti"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Stisnjeni arhivi v več delih niso mogoči"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "Stisnjenega arhiva ni mogoče ažurirati"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "izbira --pax-option je mogoča le na arhivih POSIX"
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Zahteva po odprtju praznega arhiva bojazljivo zavrnjena"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "Izbire »-Aru« so nezdružljive z »-f -«"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Ena od izbir »-Acdtrux« je obvezna"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Izhod ob napaki zakasnjen zaradi prejšnjih napak"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, c-format
@@ -2271,83 +2316,83 @@ msgstr[1] "%s: Datoteka skrčena za %s bajt"
 msgstr[2] "%s: Datoteka skrčena za %s bajta"
 msgstr[3] "%s: Datoteka skrčena za %s bajte"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, fuzzy, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Ključna beseda %s je bodisi neznana, bodisi še ni izvedena"
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Vzorca %s ni mogoče uporabiti"
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Ključne besede %s ni mogoče preklicati"
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 #, fuzzy
 msgid "Malformed extended header: missing length"
 msgstr "Poškodovana razširjena glava: manjka enačaj"
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 #, fuzzy
 msgid "Extended header length is out of allowed range"
 msgstr "Podpis %s oblike base-64 v arhivu je izven obsega %s"
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, fuzzy, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Podpis %s oblike base-64 v arhivu je izven obsega %s"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 #, fuzzy
 msgid "Malformed extended header: missing blank after length"
 msgstr "Poškodovana razširjena glava: za dolžino manjka presledek"
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr "Poškodovana razširjena glava: manjka enačaj"
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 #, fuzzy
 msgid "Malformed extended header: missing newline"
 msgstr "Poškodovana razširjena glava: manjka enačaj"
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr ""
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, fuzzy, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Vrednost arhiva %s je izven obsega %s: %s.%s"
 
-#: src/xheader.c:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, fuzzy, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Poškodovana razširjena glava: manjka enačaj"
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, fuzzy, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Poškodovana razširjena glava: manjka enačaj"
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, fuzzy, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "Poškodovana razširjena glava: manjka enačaj"
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, fuzzy, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Poškodovana razširjena glava: manjka enačaj"
@@ -2518,105 +2563,122 @@ msgstr "Številka inoda izven obsega"
 msgid "Negative size: %s"
 msgstr "Neveljavna oznaka časa"
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "Neznana sistemska napaka"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, fuzzy, c-format
 msgid "cannot open `%s'"
 msgstr "Ni mogoče odpreti %s"
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 #, fuzzy
 msgid "cannot seek"
 msgstr "Ni mogoče zapreti"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr " neznan tip datoteke %s\n"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "Ni mogoče do statistike za datoteko %s"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr ""
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, fuzzy, c-format
 msgid "Command failed with status %d\n"
 msgstr "Naslednik umrl s signalom %d"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr ""
 
 #  POZOR  Je to res to?
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, fuzzy, c-format
 msgid "--stat requires file names"
 msgstr "--Predelana imena datotek--\n"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr ""
 
+#, fuzzy
+#~ msgid "cancel effect of the previous --transform-links option"
+#~ msgstr "prekliči učinek izbire --delay-directory-restore"
+
 #~ msgid "[.]NUMBER"
 #~ msgstr "[.]N"
 
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Izhod ob napaki zakasnjen zaradi prejšnjih napak"
+
 #~ msgid "block size"
 #~ msgstr "velikost bloka"
 
@@ -3402,9 +3464,6 @@ msgstr ""
 #~ msgid "Cannot open file %s"
 #~ msgstr "Ni mogoče odpreti datoteke %s"
 
-#~ msgid "Archive %s EOF not on block boundary"
-#~ msgstr "Arhiv %s se ne konča s koncem bloka"
-
 #~ msgid "Only read %d bytes from archive %s"
 #~ msgstr "Prebrano samo %d zlogov z arhiva %s"
 
index 63a3f0c8fd780427fd7973be640e5edcc19e47aa..63569c40e1b43f236f601572c1e8c866b7224211 100644 (file)
Binary files a/po/sv.gmo and b/po/sv.gmo differ
index d6961df3a881105293e124656f5221d21c5a4e69..d7cea56d8d73dd1968f1769d7b7c8cd2d3156bbc 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,14 +1,15 @@
 # Swedish messages for tar
-# Copyright © 1996, 2001, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
-# Jan Djärv <jan.h.d@swipnet.se>, 2000, 2001, 2004, 2006, 2007
-# Revision: 1.85
+# Copyright © 1996, 2001, 2004, 2005, 2006, 2007, 2008 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
+# Revision: 1.88
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.19.90\n"
+"Project-Id-Version: tar 1.20\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
-"PO-Revision-Date: 2008-02-14 17:49+0100\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
+"PO-Revision-Date: 2008-04-16 17:04+0200\n"
 "Last-Translator: Jan Djärv <jan.h.d@swipnet.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
 "MIME-Version: 1.0\n"
@@ -81,7 +82,7 @@ msgstr " [FLAGGA...]"
 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"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
@@ -93,15 +94,15 @@ msgstr ""
 msgid "Unknown system error"
 msgstr "Okänt systemfel"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr "visa denna hjälptext"
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr "ge ett kort hjälpmeddelande"
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr "NAMN"
@@ -114,11 +115,11 @@ msgstr "ange programnamnet"
 msgid "SECS"
 msgstr "SEK"
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr "vänta i SEK sekunder (standardvärde 3600)"
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr "visa programversion"
 
@@ -136,7 +137,7 @@ msgstr "%s: För många argument\n"
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(PROGRAMFEL) Flagga borde ha känts igen!?"
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr "skrivfel"
 
@@ -195,16 +196,16 @@ msgstr "%s: flaggan \"-W %s\" är tvetydig\n"
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: flagga \"-W %s\" tar inget argument\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "minnet slut"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, c-format
 msgid "unable to record current working directory"
 msgstr "kan inte lagra nuvarande arbetskatalog"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "kan inte gå tillbaka till initial arbetskatalog"
@@ -323,11 +324,23 @@ msgstr "\""
 msgid "'"
 msgstr "\""
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr "^[yYjJ]"
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr "^[nN]"
 
@@ -552,102 +565,102 @@ msgstr "För tidigt filslut"
 msgid "Garbage command"
 msgstr "Okänt kommando"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Det här ser inte ut som ett tar-arkiv"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 msgid "Total bytes written"
 msgstr "Summa skrivna byte"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr "Summa lästa byte"
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Summa borttagna byte: %s\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(rör)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "Ogiltigt värde på record_size"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Arkivnamn saknas"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Kan inte verifiera standard in/ut-arkiv"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Arkivet är komprimerat. Använd flaggan %s"
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Komprimerade arkiv kan inte uppdateras"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "Vid bandets början, avslutar nu"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "För många fel, avslutar"
 
-#: src/buffer.c:678
-#, 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:698
+#: src/buffer.c:695
 #, 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:771
+#: src/buffer.c:716
+#, 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:793
 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:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek stannade inte på en postgräns"
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: innehåller ogiltigt volymnummer"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Volymnummer flödade över"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, 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:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "Filslut vid förväntat användarsvar"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "VARNING: Arkivet är ofullständigt"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -658,65 +671,66 @@ msgstr ""
 " q              Avsluta programmet\n"
 " y eller nyrad  Fortsätt\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !              Starta ett underskal\n"
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?              Skriv denna lista\n"
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Ingen ny volym; avslutar.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr "Filnamn inte angivet, försök igen.\n"
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Ogiltig indata. Skriv ? för hjälp.\n"
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, c-format
 msgid "%s command failed"
 msgstr "kommandot \"%s\" misslyckades"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, 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:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s fortsätter inte i denna volym"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s har fel storlek (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Denna volym kommer inte i rätt ordning"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, 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:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Volym %s överensstämmer inte med %s"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -724,6 +738,11 @@ msgstr ""
 "%s: filnamnet är för långt för att lagras i huvudet för ett GNU "
 "multivolymsarkiv, trunkerat"
 
+#: src/buffer.c:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "rmtlseek stannade inte på en postgräns"
+
 #: src/compare.c:96
 #, c-format
 msgid "Could only read %lu of %lu byte"
@@ -735,8 +754,8 @@ msgstr[1] "Kunde bara läsa %lu av %lu byte"
 msgid "Contents differ"
 msgstr "Innehållet är olika"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Oväntat filslut i arkivet"
 
@@ -853,7 +872,7 @@ msgstr[1] "%s: Fil krympte med %s byte, fyller ut med nolltecken"
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: filen finns på ett annat filsystem; inte arkiverad"
 
-#: src/create.c:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr "innehållet inte arkiverat"
 
@@ -882,7 +901,7 @@ msgstr "%s: filen är själva arkivet; inte arkiverad"
 msgid "%s: File removed before we read it"
 msgstr "%s: Fil borttagen innan vi läste den"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr "katalog inte arkiverad"
 
@@ -933,166 +952,166 @@ msgstr "%s: Katalog bytte namn innan dess status kunde extraheras"
 msgid "Extracting contiguous files as regular files"
 msgstr "Extraherar sammanhängande filer som vanliga filer"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 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:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Läser %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, 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:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 msgid "Unexpected long name header"
 msgstr "Oväntat huvud för långt filnamn"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, 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:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Nuvarade \"%s\" är nyare eller lika gammal"
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s kunde inte säkerhetskopieras"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Kan inte byta namn på %s till %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "Felet kan inte åtgärdas, avslutar nu"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Katalogen har bytt namn från %s"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Katalogen har bytt namn"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Katalogen är ny"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Ogiltigt värde på tidsvärde"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 msgid "Invalid modification time (seconds)"
 msgstr "Ogiltig modifikationstid (sekunder)"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr "Ogiltig modifikationstid (nanosekunder)"
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Ogiltigt enhetsnummer"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Ogiltigt inodnummer"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr "Fält för långt när ögonblicksfil lästes"
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr "Läsfel i ögonblicksfil"
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 msgid "Unexpected EOF in snapshot file"
 msgstr "Oväntat filslut i ögonblicksfil"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr "Oväntat fältvärde i ögonblicksfil"
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr "Postavslutare fattas"
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr "Felaktigt filformat för inkrementell säkerhetskopiering"
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 "Formatversion för inkrementell säkerhetskopiering stöds inte: %<PRIuMAX>"
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "Felaktig dumpkatalog: förväntade \"%c\" men hittade %#3o"
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Felaktig dumpkatalog: \"X\" duplicerad"
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Felaktig dumpkatalog: tomt namn i \"R\""
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr "Felaktig dumpkatalog: \"T\" föregås inte av \"R\""
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Felaktig dumpkatalog: tomt namn i \"T\""
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, 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:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Felaktig dumpkatalog: \"X\" används inte"
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Kan inte skapa temporärkatalog med mall %s"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Rensar inte katalog: kunde inte ta status"
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, 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:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Tar bort %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Kan inte ta bort"
@@ -1112,19 +1131,19 @@ msgstr "block %s: ** Block av nolltecken **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "block %s: ** Filslut **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "block %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1132,68 +1151,68 @@ msgstr ""
 "komplement"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:728
+#: src/list.c:737
 #, 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:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arkivet innehåller föråldrade \"base-64\"-huvuden"
 
-#: src/list.c:763
+#: src/list.c:772
 #, 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:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, 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:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " länk till %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " okänd filtyp \"%s\"\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Lång länk--\n"
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Långt namn--\n"
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Volymhuvud--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Fortsätter vid byte %s--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Skapar katalog:"
 
@@ -1230,25 +1249,25 @@ msgstr "interprocesskanal"
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr "Mönstermatchningstecken används i filnamn."
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
 "Använd --wildcards för att slå på mönstermatchning, eller --no-wildcards för"
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr "att undertrycka denna varning."
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Fanns inte i arkivet"
 
-#: src/names.c:621
+#: src/names.c:615
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Nödvändig förekomst hittades inte i arkivet"
@@ -1275,7 +1294,7 @@ msgstr ""
 "Okänd citeringsstil \"%s\". Gör \"%s --quoting-style=help för att få en "
 "lista."
 
-#: src/tar.c:334
+#: src/tar.c:336
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1293,7 +1312,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:343
+#: src/tar.c:345
 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 "
@@ -1315,87 +1334,87 @@ msgstr ""
 "annars\n"
 "  never, simple   gör alltid enkla säkerhetskopior\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr "Operationsläge:"
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr "visa innehållet i arkivet"
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr "extrahera filer från arkivet"
 
-#: src/tar.c:377
+#: src/tar.c:379
 msgid "create a new archive"
 msgstr "skapa ett nytt arkiv"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr "visa skillnader mellan filsystemet och arkivet"
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr "lägg till filer på slutet av arkivet"
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr "lägg till filer som är nyare än de i arkivet"
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr "lägg till innehållet i en arkivfil till arkivet"
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "ta bort från arkivet (inte för arkiv på magnetband!)"
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr "verifiera arkivets volymnamn och avsluta."
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr "Modifiera operationslägen:"
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr "hantera filer med hål mer effektivt"
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr "ÖVRE[.UNDRE]"
 
-#: src/tar.c:401
+#: src/tar.c:403
 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:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr "hantera gamla GNU-formatet för inkrementell säkerhetskopiering"
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr "FIL"
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr "hantera nya GNU-formatet för inkrementell säkerhetskopiering"
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr "avsluta inte med felslutstatus p.g.a. oläsbara filer"
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr "NUMMER"
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1407,117 +1426,118 @@ 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:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr "arkivet är sökbart"
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
-msgstr ""
+msgstr "kontrollera inte enhetsnummer när inkrementella arkiv skapas"
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
+"kontrollera enhetsnummer när inkrementella arkiv skapas (standardvärde)"
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr "Kontrollera överskrivning:"
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr "försök verifiera arkivet efter det skapats"
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr "ta bort filer efter de sparats i arkivet"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr "ersätt inte befintliga filer vid extrahering"
 
-#: src/tar.c:435
+#: src/tar.c:437
 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:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr "skriv över befintliga filer vid extrahering"
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr "ta bort befintliga filer innan de nya extraheras"
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr "töm kataloghierarkier före extrahering av katalog"
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr "bevara befintliga katalogers metadata"
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 "skriv över metadata för befintliga kataloger vid extrahering (standardvärde)"
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr "Välj utdataström:"
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
 msgstr "extrahera filer till standard ut"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr "KOMMANDO"
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr "extrahera filer till standard in för ett annat program"
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr "ignorera barnprocessers slutstatus"
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr "behandla slutstats från barnprocesser skiljt ifrån noll som fel"
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr "Hantering av filattribut:"
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr "sätt NAMN som ägare för adderade filer"
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr "sätt NAMN som grupp för adderade filer"
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr "DATUM-ELLER-FIL"
 
-#: src/tar.c:472
+#: src/tar.c:474
 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:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr "RÄTTIGHET"
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "sätt (symbolisk) RÄTTIGHET för adderade filer"
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr "METOD"
 
-#: src/tar.c:477
+#: src/tar.c:479
 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 "
@@ -1527,28 +1547,28 @@ msgstr ""
 "tiderna efter läsning (METOD=\"replace\", standardvärde) eller genom att "
 "inte sätta tiderna alls (METOD=\"system\")"
 
-#: src/tar.c:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr "extrahera inte filers modifieringstid"
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr "försök extrahera filer med samma ägare som i arkivet"
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr "extrahera filer med dig själv som ägare"
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr "använd alltid tal för användar- och gruppnamn"
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 "extrahera information om filrättigheter (standardvärde för superanvändare)"
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1556,15 +1576,15 @@ msgstr ""
 "applicera användarens umask när rättigheter extraheras från arkivet "
 "(standardvärde för vanliga användare)"
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr "sortera namn som ska extraheras så de passar ihop med arkivet"
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr "samma som både -p och -s"
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1572,139 +1592,139 @@ msgstr ""
 "fördröj sättandet av modifikationstider och rättigheter på extraherade "
 "kataloger till slutet på arkivextraheringen."
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "ta bort effekten av flaggan --delay-directory-restore"
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr "Enhetsval och enhetsbyte:"
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr "ARKIV"
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr "använd arkivfil eller enhet ARKIV"
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
 msgstr "arkivfilen är lokal även om namnet har kolon"
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "använd KOMMANDO istället för rmt"
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr "använd KOMMANDO istället för rsh"
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr "ange enhet och densitet"
 
-#: src/tar.c:535
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
 msgstr "skapa/visa/extrahera ett flervolymsarkiv"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "byt band efter det att NUMMER x 1024 byte skrivits"
 
-#: src/tar.c:539
+#: src/tar.c:541
 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:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr "använd/uppdatera volymnummer i FIL"
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr "Blockhantering:"
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr "BLOCK"
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr "BLOCK x 512 byte per post"
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "NUMMER byte per post, multipel av 512"
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "ignorera block med enbart nolltecken (betyder filslut)"
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "omblocka vid läsning (för 4.2BSD-rör)"
 
-#: src/tar.c:561
+#: src/tar.c:563
 msgid "Archive format selection:"
 msgstr "Val av arkivformat:"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr "FORMAT"
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr "skapa ett arkiv med givet format"
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr "FORMAT är ett av följande:"
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr "gammalt V7 format"
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr "GNU-format enligt tar <= 1.12"
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr "GNU-format från tar 1.13.x"
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "POSIX 1003.1-1988 (ustar) format"
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "POSIX 1003.1-2001 (pax) format"
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr "samma som pax"
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr "samma som --format=v7"
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr "samma som --format=posix"
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "nyckelord[[:]=värde][,nyckelord[[:]=värde], ...]"
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr "ange nyckelord för pax"
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr "NAMN"
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1712,84 +1732,98 @@ msgstr ""
 "skapa ett arkiv med volymnamnet NAMN. Vid visning/extrahering är NAMN ett "
 "skalmönster (\"globbing\")"
 
-#: src/tar.c:592
+#: src/tar.c:594
 msgid "Compression options:"
 msgstr "Komprimeringsflaggor:"
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
 msgstr "använd arkivsuffix för att bestämma komprimeringsprogram"
 
-#: src/tar.c:596
+#: src/tar.c:598
+#, fuzzy
+msgid "do not use use archive suffix to determine the compression program"
+msgstr "använd arkivsuffix för att bestämma komprimeringsprogram"
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr "filtrera arkivet genom bzip2"
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr "filtrera arkivet genom gzip"
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr "filtrera arkivet genom compress"
 
-#: src/tar.c:605
+#: src/tar.c:610
 msgid "filter the archive through lzma"
 msgstr "filtrera arkivet genom lzma"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "filtrera arkivet genom gzip"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr "PROG"
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr "filtrera genom PROG (måste förstå -d)"
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr "Filval:"
 
-#: src/tar.c:615
+#: src/tar.c:622
 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:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr "KATALOG"
 
-#: src/tar.c:617
+#: src/tar.c:624
 msgid "change to directory DIR"
 msgstr "byt katalog till KATALOG"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr "hämta namn att extrahera från FIL"
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr "-T läser namn åtskilda med nolltecken, -C obrukbar"
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr "avcitera filnamn som lästs med -T (standardvärde)"
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr "avcitera inte filnamn som lästs med -T"
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "MÖNSTER"
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr "utelämna filer som matchar MÖNSTER"
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr "utelämna filer som matchar mönster i FIL"
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1797,87 +1831,87 @@ msgstr ""
 "utelämna innehållet i kataloger som innehåller CACHEDIR.TAG, förutom "
 "CACHEDIR.TAG själv"
 
-#: src/tar.c:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "utelämna allt i kataloger som innehåller CACHEDIR.TAG"
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "utelämna kataloger som innehåller CACHEDIR.TAG"
 
-#: src/tar.c:639
+#: src/tar.c:648
 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:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
 msgstr "utelämna allting i kataloger som innehåller FIL"
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr "utelämna kataloger som innehåller FIL"
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr "uteslut kataloger från versionshanteringssystem"
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr "gå inte automatiskt ned i kataloger"
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr "byt inte filsystem när arkivet skapas"
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr "gå rekursivt ned i kataloger (standardvärde)"
 
-#: src/tar.c:654
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
 msgstr "tag inte bort inledande \"/\" från namn"
 
-#: src/tar.c:656
+#: src/tar.c:665
 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:658
+#: src/tar.c:667
 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:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr "NAMN"
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr "börja med fil NAMN i arkivet"
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "arkivera bara filer nyare än DATUM-ELLER-FIL"
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr "DATUM"
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr "jämför datum och tid endast för dataändringar"
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr "KONTROLL"
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr "gör säkerhetskopior före borttagning, välj typ av versionshantering"
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr "STRÄNG"
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -1886,91 +1920,91 @@ msgstr ""
 "säkerhetskopieändelsen (\"~\" om inte ändrad med miljövariabeln "
 "SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr "Filnamnstransformationer:"
 
-#: src/tar.c:676
+#: src/tar.c:685
 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:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr "UTTRYCK"
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "använd seds ersättnings-UTTRYCK för att transformera filnamn"
 
-#: src/tar.c:684
+#: src/tar.c:694
 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:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr "matcha gemener och versaler lika"
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr "mönster måste matcha i början på filnamn"
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr "mönster matchas efter \"/\" i filnamn (standardvärde vid uteslutning)"
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr "matcha gemener och versaler olika (standardvärde)"
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr "använd jokertecken (standardvärde för uteslutning)"
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr "ordagrann strängjämförelse"
 
-#: src/tar.c:699
+#: src/tar.c:709
 msgid "wildcards do not match `/'"
 msgstr "jokertecken matchar inte \"/\""
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr "jokertecken matchar \"/\" (standardvärde för uteslutning)"
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr "Informativ utskrift:"
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr "visa namn på alla filer som behandlas"
 
-#: src/tar.c:711
+#: src/tar.c:721
 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:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr "ÅTGÄRD"
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr "utför ÅTGÄRD vid vare kontrollpunkt"
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr "visa ett meddelande om inte alla länkar arkiverats"
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr "SIGNAL"
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1981,27 +2015,27 @@ 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:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr "visa filers modifieringstid i UTC"
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr "skicka informativa meddelanden till FIL"
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr "visa blocknummer inom arkivet för varje meddelande"
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr "fråga efter bekräftelse för varje steg"
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr "visa standardvärden för \"tar\""
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2009,31 +2043,31 @@ msgstr ""
 "vid visning eller extrahering, visa varje katalog som inte matchar "
 "sökkriterium"
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr "visa fil- eller arkivnamn efter transformering"
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr "STIL"
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "sätt citatstil för namn. Se nedan för giltiga vären på STIL."
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr "citera även tecken i STRÄNG"
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr "citera inte tecken i STRÄNG"
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr "Kompatibilitetsflaggor:"
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2041,56 +2075,56 @@ msgstr ""
 "vid skapande, samma som --old-archive.  Vid extrahering, samma som --no-same-"
 "owner"
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr "Andra flaggor:"
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr "begränsa användningen av eventuellt farliga flaggor"
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Du kan endast ange en av flaggorna \"-Acdtrux\""
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Motstridiga komprimeringsflaggor"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Okänt signalnamn: %s"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 msgid "Date sample file not found"
 msgstr "Tidsfil hittades inte"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, 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:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr "Flagga %s: Tolkar tidsangivelse \"%s\" som %s"
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, c-format
 msgid "%s: file list already read"
 msgstr "%s: fillistan redan läst"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: filnamnet som lästes innehåller nolltecken"
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr "Giltiga argument till flaggan --quoting-style är:"
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2098,151 +2132,165 @@ msgstr ""
 "\n"
 "*Denna* tar har standardvärdena:\n"
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Ogiltig blockfaktor"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr "Varning: flaggan -I stöds inte, du kanske menade -j eller -T?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Ogiltig bandlängd"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Mer än en datumgräns"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr "Ogiltig version för filer med hål"
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' stöds inte på denna plattform"
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint-värdet är inte ett heltal"
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: Ogiltig grupp"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Ogiltiga rättigheter givna för flagga"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr "Ogiltigt nummer"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Ogiltig ägare"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Ogiltig poststorlek"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Poststorlek måste vara en multipel av %d"
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr "Ogiltig antal element"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr "Endast en --to-command flagga tillåten"
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Ogiltig densitetsangivelse: %s"
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
 msgstr "Okänd densitet: \"%c\""
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, 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:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr "[FIL]..."
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "Gammal flagga \"%c\" kräver ett argument"
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence är meningslöst utan en fillista"
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr "--occurrence kan inte användas i det begärda operationsläget."
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 msgid "Multiple archive files require `-M' option"
 msgstr "Multipla arkivfiler kräver \"-M\" flaggan"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "Kan inte kombinera --listed-incremental med --newer"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Flervolymsarkiv kan inte verifieras"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Komprimerade arkiv kan inte verifieras"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Kan inte använda komprimerade flervolymsarkiv"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 msgid "Cannot concatenate compressed archives"
 msgstr "Komprimerade arkiv kan inte slås samman"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option kan bara användas på POSIX-arkiv"
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Vägrar fegt att skapa ett tomt arkiv"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "Flaggorna \"-Aru\" är inkompatibla med \"-f -\""
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Du måste ange en av flaggorna \"-Acdtrux\""
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Avslut med felslutstatus fördröjd från föregående fel"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, c-format
@@ -2251,79 +2299,79 @@ msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Filen krympte med %s byte"
 msgstr[1] "%s: Filen krympte med %s byte"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Nyckelordet %s är okänt eller inte ännu implementerat"
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Mönster %s kan inte användas"
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Nyckelord %s kan inte ersättas"
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr "Felaktigt utökat huvud: längd saknas"
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr "Längd på utökat huvud är utanför giltigt intervall"
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Längd %.*s på utökat huvud är utanför giltigt intervall"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr "Felaktigt utökat huvud: blanktecken efter längdangivelse saknas"
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr "Felaktigt utökat huvud: likamedtecken saknas"
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr "Felaktigt utökat huvud: nyrad saknas"
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr "Ignorerar nykelord \"%s\" i utökat huvud"
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, 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:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Felaktigt utökat huvud: ogiltig %s=%s"
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Felaktigt utökat huvud: för många %s=%s"
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, 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:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Felaktigt utökat huvud: ogiltigt %s: udda antal värden"
@@ -2495,96 +2543,113 @@ msgstr "Nummer utanför giltigt intervall: %s"
 msgid "Negative size: %s"
 msgstr "Negativ storlek: %s"
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr "status (stat) kunde ej tas på %s"
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Fel vid parsning av tal nära \"%s\""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, c-format
 msgid "Unknown date format"
 msgstr "Okänt datumformat"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr "[ARGUMENT...]"
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
 msgstr "kan inte öppna \"%s\""
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 msgid "cannot seek"
 msgstr "kan inte flytta (seek)"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr "filnamnet innehåller nolltecken"
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, 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:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "felaktig mask (nära \"%s\")"
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Okänt fält \"%s\""
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "kan inte sätta tid på \"%s\""
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Kommandot avslutades utan fel\n"
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Kommandot misslyckades med slutstatus %d\n"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Kommandot terminerades av signal %d\n"
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Kommandot stoppades av signal %d\n"
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Kommandot dumpade minnet\n"
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr "Kommandot avslutade\n"
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat kräver filnamn"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr "för många argument"
+
+#, fuzzy
+#~ msgid "cancel effect of the previous --transform-links option"
+#~ msgstr "ta bort effekten av flaggan --delay-directory-restore"
+
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Avslut med felslutstatus fördröjd från föregående fel"
index 23c9429027b59d803d8c18bab9793df35b03a86b..3b9829f05cb20a64488eabc29eedb80f4b741f9e 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\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"
@@ -80,7 +80,7 @@ msgstr ""
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr ""
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
@@ -89,15 +89,15 @@ msgstr ""
 msgid "Unknown system error"
 msgstr ""
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr ""
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr ""
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr ""
@@ -110,11 +110,11 @@ msgstr ""
 msgid "SECS"
 msgstr ""
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr ""
 
@@ -132,7 +132,7 @@ msgstr ""
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr ""
 
@@ -191,16 +191,16 @@ msgstr ""
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr ""
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr ""
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, c-format
 msgid "unable to record current working directory"
 msgstr ""
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr ""
@@ -319,11 +319,23 @@ msgstr ""
 msgid "'"
 msgstr ""
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr ""
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr ""
 
@@ -517,102 +529,102 @@ msgstr ""
 msgid "Garbage command"
 msgstr ""
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr ""
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 msgid "Total bytes written"
 msgstr ""
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr ""
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr ""
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr ""
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr ""
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr ""
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr ""
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr ""
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr ""
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr ""
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr ""
 
-#: src/buffer.c:678
+#: src/buffer.c:695
 #, c-format
-msgid "Unaligned block (%lu byte) in archive"
-msgid_plural "Unaligned block (%lu bytes) in archive"
+msgid "Record size = %lu block"
+msgid_plural "Record size = %lu blocks"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/buffer.c:698
+#: src/buffer.c:716
 #, c-format
-msgid "Record size = %lu block"
-msgid_plural "Record size = %lu blocks"
+msgid "Unaligned block (%lu byte) in archive"
+msgid_plural "Unaligned block (%lu bytes) in archive"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/buffer.c:771
+#: src/buffer.c:793
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 
-#: src/buffer.c:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr ""
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr ""
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr ""
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr ""
 
-#: src/buffer.c:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr ""
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr ""
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -620,69 +632,74 @@ msgid ""
 " y or newline  Continue operation\n"
 msgstr ""
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr ""
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, c-format
 msgid "%s command failed"
 msgstr ""
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 
-#: src/buffer.c:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr ""
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr ""
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr ""
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr ""
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr ""
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr ""
 
+#: src/buffer.c:1619
+msgid "write did not end on a block boundary"
+msgstr ""
+
 #: src/compare.c:96
 #, c-format
 msgid "Could only read %lu of %lu byte"
@@ -694,8 +711,8 @@ msgstr[1] ""
 msgid "Contents differ"
 msgstr ""
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr ""
 
@@ -812,7 +829,7 @@ msgstr[1] ""
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr ""
 
-#: src/create.c:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr ""
 
@@ -841,7 +858,7 @@ msgstr ""
 msgid "%s: File removed before we read it"
 msgstr ""
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr ""
 
@@ -892,165 +909,165 @@ msgstr ""
 msgid "Extracting contiguous files as regular files"
 msgstr ""
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr ""
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr ""
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr ""
 
-#: src/extract.c:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 msgid "Unexpected long name header"
 msgstr ""
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
 msgstr ""
 
-#: src/extract.c:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr ""
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr ""
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr ""
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr ""
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr ""
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr ""
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr ""
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr ""
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 msgid "Invalid modification time (seconds)"
 msgstr ""
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr ""
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr ""
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr ""
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr ""
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr ""
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 msgid "Unexpected EOF in snapshot file"
 msgstr ""
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr ""
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr ""
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr ""
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr ""
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr ""
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr ""
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr ""
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr ""
 
-#: src/incremen.c:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr ""
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr ""
@@ -1070,86 +1087,86 @@ msgstr ""
 msgid "block %s: ** End of File **\n"
 msgstr ""
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr ""
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, 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:728
+#: src/list.c:737
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr ""
 
-#: src/list.c:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr ""
 
-#: src/list.c:763
+#: src/list.c:772
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr ""
 
-#: src/list.c:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr ""
 
-#: src/list.c:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr ""
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr ""
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr ""
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr ""
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr ""
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr ""
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr ""
 
@@ -1186,24 +1203,24 @@ msgstr ""
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr ""
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr ""
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr ""
 
-#: src/names.c:621
+#: src/names.c:615
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr ""
@@ -1228,7 +1245,7 @@ msgid ""
 "Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
 msgstr ""
 
-#: src/tar.c:334
+#: src/tar.c:336
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1239,7 +1256,7 @@ msgid ""
 "  tar -xf archive.tar          # Extract all files from archive.tar.\n"
 msgstr ""
 
-#: src/tar.c:343
+#: src/tar.c:345
 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 "
@@ -1251,86 +1268,86 @@ msgid ""
 "  never, simple   always make simple backups\n"
 msgstr ""
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr ""
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr ""
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr ""
 
-#: src/tar.c:377
+#: src/tar.c:379
 msgid "create a new archive"
 msgstr ""
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr ""
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr ""
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr ""
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr ""
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr ""
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr ""
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr ""
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr ""
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr ""
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr ""
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr ""
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1338,549 +1355,561 @@ msgid ""
 "command line or via the -T option; NUMBER defaults to 1"
 msgstr ""
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr ""
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr ""
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr ""
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr ""
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr ""
 
-#: src/tar.c:435
+#: src/tar.c:437
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr ""
 
-#: src/tar.c:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr ""
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr ""
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr ""
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr ""
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr ""
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
 msgstr ""
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr ""
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr ""
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr ""
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr ""
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr ""
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr ""
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:472
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr ""
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr ""
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr ""
 
-#: src/tar.c:477
+#: src/tar.c:479
 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:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr ""
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr ""
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr ""
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr ""
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr ""
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr ""
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr ""
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr ""
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr ""
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr ""
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
 msgstr ""
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr ""
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr ""
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr ""
 
-#: src/tar.c:535
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
 msgstr ""
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr ""
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr ""
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr ""
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr ""
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr ""
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr ""
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr ""
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr ""
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr ""
 
-#: src/tar.c:561
+#: src/tar.c:563
 msgid "Archive format selection:"
 msgstr ""
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr ""
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr ""
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr ""
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr ""
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr ""
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr ""
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr ""
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr ""
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr ""
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr ""
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr ""
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr ""
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr ""
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr ""
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
 msgstr ""
 
-#: src/tar.c:592
+#: src/tar.c:594
 msgid "Compression options:"
 msgstr ""
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:596
+#: src/tar.c:598
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr ""
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr ""
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr ""
 
-#: src/tar.c:605
+#: src/tar.c:610
 msgid "filter the archive through lzma"
 msgstr ""
 
-#: src/tar.c:606
+#: src/tar.c:612
+msgid "filter the archive through lzop"
+msgstr ""
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr ""
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr ""
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr ""
 
-#: src/tar.c:615
+#: src/tar.c:622
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 
-#: src/tar.c:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr ""
 
-#: src/tar.c:617
+#: src/tar.c:624
 msgid "change to directory DIR"
 msgstr ""
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr ""
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr ""
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr ""
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr ""
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr ""
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr ""
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr ""
 
-#: src/tar.c:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr ""
 
-#: src/tar.c:639
+#: src/tar.c:648
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 
-#: src/tar.c:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
 msgstr ""
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr ""
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr ""
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr ""
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr ""
 
-#: src/tar.c:654
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
 msgstr ""
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:658
+#: src/tar.c:667
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr ""
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr ""
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr ""
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr ""
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr ""
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr ""
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr ""
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr ""
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:676
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr ""
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/tar.c:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr ""
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr ""
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr ""
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr ""
 
-#: src/tar.c:699
+#: src/tar.c:709
 msgid "wildcards do not match `/'"
 msgstr ""
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr ""
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr ""
 
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr ""
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr ""
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1888,261 +1917,275 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr ""
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr ""
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr ""
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr ""
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr ""
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr ""
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr ""
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr ""
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr ""
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr ""
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr ""
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr ""
 
-#: src/tar.c:989
+#: src/tar.c:1009
 msgid "Date sample file not found"
 msgstr ""
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr ""
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr ""
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, c-format
 msgid "%s: file list already read"
 msgstr ""
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr ""
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr ""
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr ""
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr ""
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr ""
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr ""
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr ""
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr ""
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr ""
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr ""
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr ""
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr ""
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr ""
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
 msgstr ""
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, c-format
 msgid "Options `-[0-7][lmh]' not supported by *this* tar"
 msgstr ""
 
-#: src/tar.c:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr ""
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr ""
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr ""
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr ""
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 msgid "Multiple archive files require `-M' option"
 msgstr ""
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr ""
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr ""
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr ""
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr ""
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 msgid "Cannot concatenate compressed archives"
 msgstr ""
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr ""
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr ""
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr ""
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr ""
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
+msgid "Exiting with failure status due to previous errors"
 msgstr ""
 
 #: src/update.c:86
@@ -2152,79 +2195,79 @@ msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr ""
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr ""
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr ""
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr ""
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr ""
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr ""
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr ""
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr ""
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr ""
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr ""
 
-#: src/xheader.c:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr ""
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr ""
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr ""
@@ -2384,96 +2427,106 @@ msgstr ""
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, c-format
 msgid "Unknown date format"
 msgstr ""
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
 msgstr ""
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 msgid "cannot seek"
 msgstr ""
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, c-format
 msgid "Unknown field `%s'"
 msgstr ""
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr ""
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr ""
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr ""
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr ""
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, c-format
 msgid "--stat requires file names"
 msgstr ""
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr ""
index 56575174013ac2013c07077e24111f55d2429647..324336c9c7ddfba8993a9ca4ca74ff83eb14169e 100644 (file)
Binary files a/po/tr.gmo and b/po/tr.gmo differ
index e9cd42f98de89d9f26175ff104d033665cad2d64..bead06149aea259ec68c55ceb96dca4856a7d75f 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.18\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
 "PO-Revision-Date: 2007-07-09 11:30+0300\n"
 "Last-Translator: Nilgün Belma Bugüner <nilgun@buguner.name.tr>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -81,7 +81,7 @@ msgstr " [SEÇENEK...]"
 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"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
@@ -92,15 +92,15 @@ msgstr ""
 msgid "Unknown system error"
 msgstr "Bilinmeyen sistem hatası"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr "bu yardım iletisi gösterilir"
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr "kısa bir kullanım iletisi gösterilir"
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr "İSİM"
@@ -113,11 +113,11 @@ msgstr "uygulama ismi"
 msgid "SECS"
 msgstr "SAN"
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr "SANİYE saniye bekler (öntanımlı 3600)"
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr "sürüm bilgisi gösterilir"
 
@@ -135,7 +135,7 @@ msgstr "%s: argüman sayısı fazla\n"
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(YAZILIM HATASI) Seçenek tanınmak zorunda!?"
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr ""
 
@@ -194,16 +194,16 @@ msgstr "%s: `-W %s' seçeneği belirsiz\n"
 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"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "bellek tükendi"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "Çalışma dizini değiştirilemez"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "Çalışılan dizin kaydedilemez"
@@ -324,11 +324,23 @@ msgstr "`"
 msgid "'"
 msgstr "'"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr "^[eEyY]"
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr "^[hHnN]"
 
@@ -530,102 +542,102 @@ msgstr "Dosya sonu belirsiz"
 msgid "Garbage command"
 msgstr "Bozuk komut"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Bu bir tar arşivi gibi görünmüyor"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 msgid "Total bytes written"
 msgstr "Yazılan toplam bayt"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr "Okunan toplam bayt"
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Silinen toplam bayt: %s\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(boru)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "record_size için geçersiz değer"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Arşiv ismi verilmemiş"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "stdG/stdÇ arşivi doğrulanamaz"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, 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:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Sıkıştırılmış arşivler güncellenemez"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "Bandın başlangıcında, şimdilik çıkıyor"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Çok hata var, çıkıyor"
 
-#: src/buffer.c:678
-#, 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:698
+#: src/buffer.c:695
 #, 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:771
+#: src/buffer.c:716
+#, 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:793
 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:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek bir kaydın sınırında durmadı"
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: geçersiz bölüm numarası içeriyor"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Bölüm numarası kapsamdışı"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, 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:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "Kullanıcı cevabı beklenirken dosya sonuna gelindi"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "UYARI: Arşiv eksik"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -636,70 +648,76 @@ msgstr ""
 " q                   Uygulama sonlandırılır\n"
 " y veya <enter>      İşlem sürdürülür\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !                   bir alt kabuk açılır\n"
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?                    Bu listeyi basar\n"
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Yeni bölüm yok; çıkıyor.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr "Dosya ismi belirtilmemiş. Tekrar deneyin.\n"
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Girdi geçersiz, Yardım için ? yazın.\n"
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, c-format
 msgid "%s command failed"
 msgstr "%s komutu başarısız"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, 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:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s bu bölümde devam etmiyor"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s yanlış uzunluk (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Bu bölüm sıralama dışı"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Arşiv etiketi %s ile eşleşmiyor"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "%s bölümü %s ile eşleşmiyor"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, 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:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "rmtlseek bir kaydın sınırında durmadı"
+
 #: src/compare.c:96
 #, c-format
 msgid "Could only read %lu of %lu byte"
@@ -711,8 +729,8 @@ msgstr[1] "Sadece %2$lu baytın %1$lu baytı okunabildi"
 msgid "Contents differ"
 msgstr "İçerikler farklı"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Arşivde beklenmeyen dosya sonu"
 
@@ -830,7 +848,7 @@ msgstr[1] "%s: Dosya %s baytta kaldı; sıfırlarla dolduruluyor"
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: dosya farklı bir dosya sisteminde; dökümlenmedi"
 
-#: src/create.c:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr "içerik dökümlenmedi"
 
@@ -859,7 +877,7 @@ msgstr "%s: dosya arşivdir; dökümlenmedi"
 msgid "%s: File removed before we read it"
 msgstr "%s: Dosya okunamadan kaldırıldı"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr "dizin dökümlenmedi"
 
@@ -910,165 +928,165 @@ msgstr "%s: durumu çıkarılamadan dizin ismi değiştirildi"
 msgid "Extracting contiguous files as regular files"
 msgstr "Bitişik dosyaları normal dosyalar olarak çıkarıyor"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 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:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "%s okunuyor\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, 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:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 msgid "Unexpected long name header"
 msgstr "Umulmadık uzun isim başlığı"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, 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:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Mevcut %s daha yeni ya da yaşıt"
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Bu dosyayı yedeklemek mümkün olmadı"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s ismi %s olarak değiştirilemez"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "Hata kurtarılabilir değil: şimdilik çıkılıyor"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Dizinin eski adı %s idi"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Dizin adı değiştirilmişti"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Dizin yeni"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Geçersiz zaman damgası"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 msgid "Invalid modification time (seconds)"
 msgstr "Değişiklik zamanı (saniye cinsinden) geçersiz"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr "Değişiklik zamanı (nanosaniye cinsinden) geçersiz"
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Geçersiz aygıt numarası"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Geçersiz düğüm numarası"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr "Anlık görüntü dosyası okunurken alan çok uzun"
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr "Anlık görüntü dosyasında okuma hatası"
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 msgid "Unexpected EOF in snapshot file"
 msgstr "Anlık görüntü dosyasında beklenmeyen dosya sonu"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr "Anlık görüntü dosyasında beklenmeyen alan değeri"
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr "Kayıt sonlandırıcı eksik"
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr "Arttırımlı dosya biçimi hatalı"
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Desteklenmeyen arttırımlı biçim sürümü: %<PRIuMAX>"
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "dumpdir bozuk: umulan '%c' ama bulunan %#3o"
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "dumpdir bozuk: 'X' yinelenmiş"
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "dumpdir bozuk: 'R'deki isim boş"
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr "dumpdir bozuk: 'T' 'R' ile öncelenmemiş"
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "dumpdir bozuk: 'T'deki isim boş"
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr "dumpdir bozuk: umulan'%c' ama bulunan veri sonu"
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "dumpdir bozuk: 'X' hiç kullanılmamış"
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "%s şablonu kullanılarak geçici dizin oluşturulamıyor"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: dizin temizlenmiyor: durumlama yapılamadı"
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: dizin farklı bir aygıtta: temizlenmiyor"
 
-#: src/incremen.c:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: %s siliniyor\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Kaldırılamaz"
@@ -1088,19 +1106,19 @@ msgstr "blok %s: ** NUL bloku **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "blok %s: ** Dosya Sonu **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "blok %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1108,68 +1126,68 @@ msgstr ""
 "ediliyor"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:728
+#: src/list.c:737
 #, 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:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Arşiv atıl base-64 başlıklar içeriyor"
 
-#: src/list.c:763
+#: src/list.c:772
 #, 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:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, 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:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " bağı -> %s \n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " bilinmeyen dosya türü %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Uzun  Bağ--\n"
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Uzun İsim--\n"
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Bölüm Başlığı--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Devamı bayt %s de--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Oluşturulan dizin:"
 
@@ -1206,24 +1224,24 @@ msgstr "süreçlerarası kanal"
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr "Kalıp eşleme karakterleri dosya isimlerinde kullanılmış. Lütfen,"
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr "ya kalıp eşlemeyi etkin kılmak için --wildcards  kullanın,"
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr "ya da bu uyarıyı engellemek için --no-wildcards kullanın."
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Arşivde yok"
 
-#: src/names.c:621
+#: src/names.c:615
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Arşivde bulunması gerekirken yok"
@@ -1250,7 +1268,7 @@ msgstr ""
 "Sarmalama şekli `%s' bilinmiyor. Listeyi almak için `%s --quoting-"
 "style=help' yazın."
 
-#: src/tar.c:334
+#: src/tar.c:336
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1269,7 +1287,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:343
+#: src/tar.c:345
 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 "
@@ -1290,86 +1308,86 @@ 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:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr "Ana işlem kipi:"
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr "bir arşiv içeriğini listeler"
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr "bir arşivdeki dosyaları çıkarır"
 
-#: src/tar.c:377
+#: src/tar.c:379
 msgid "create a new archive"
 msgstr "yeni bir arşiv oluşturur"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr "arşiv ile dosya sistemi arasındaki farklar bulunur"
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr "dosyaları arşivin sonuna ekler"
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr "sadece arşivdeki kopyasından daha yeni dosyalar eklenir"
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr "bir arşive tar dosyaları ekler"
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "arşivden siler (teyplerde değil!)"
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr "arşiv bölüm etiketini sınar ve çıkar"
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr "İşlem değiştiriciler:"
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr "seyrek dosyalar verimli şekilde elde edilir"
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr "ANA[.ALT]"
 
-#: src/tar.c:401
+#: src/tar.c:403
 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:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr "GNU eski tarz arttırımlı yedekleme tanınır"
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr "DOSYA"
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr "GNU yeni tarz arttırımlı yedekleme tanınır"
 
-#: src/tar.c:407
+#: src/tar.c:409
 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:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr "SAYI"
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1381,117 +1399,117 @@ 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:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr "arşiv arama yapılabilen türde"
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr "Üsteyazma denetimi:"
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr "yazdıktan sonra arşivi doğrulamaya çalışır"
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr "arşive eklendikten sonra dosyalar silinir"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr "çıkarılırken mevcut dosyalar değiştirilmez"
 
-#: src/tar.c:435
+#: src/tar.c:437
 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:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr "çıkarılırken mevcut dosyaların üzerine yazılır"
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr "çıkarılmadan önce mevcut dosya silinir"
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr "dizin çıkarılmadan önce alt dizinleri silinir"
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr "mevcut dizinlerin öznitelikleri korunur"
 
-#: src/tar.c:445
+#: src/tar.c:447
 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:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr "Çıktı akımını seçiniz:"
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
 msgstr "dosyalar standart çıktıya çıkarılır"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr "KOMUT"
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr "çıkarılan dosyaları başka bir uygulamaya borular"
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr "altsüreçlerin çıkış kodları yoksayılır"
 
-#: src/tar.c:460
+#: src/tar.c:462
 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:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr "Dosya özniteliklerinin elde edilmesi:"
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr "İSİM eklenen dosyaların sahibi yapılır"
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr "İSİM eklenen dosyaların grubu yapılır"
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr "DOSYA-TARİHİ"
 
-#: src/tar.c:472
+#: src/tar.c:474
 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:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr "KİP"
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "KİP eklenen dosyaların (sembolik) kipi yapılır"
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr "YÖNTEM"
 
-#: src/tar.c:477
+#: src/tar.c:479
 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 "
@@ -1501,28 +1519,28 @@ 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:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr "dosya değişiklik zamanı çıkarılmaz"
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr "sahibi aynı olan dosyalar çıkarılmaya çalışılır"
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr "dosyalar sizin sahipliğinizde çıkarılır"
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr "kullanıcı/grup isimleri yerine daima numaraları kullanılır"
 
-#: src/tar.c:489
+#: src/tar.c:491
 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:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1530,15 +1548,15 @@ 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:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr "isimler arşivdeki sırasına göre çıkarılır"
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr "-p ve -s birlikte verilmiş gibi olur"
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1546,139 +1564,139 @@ msgstr ""
 "herşey çıkarılana kadar çıkarılan dizinlerin izinleri ve değişiklik "
 "zamanlarının değiştirilmesi geciktirilir"
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "--delay-directory-restore seçeneğinin etkisi iptal edilir."
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr "Aygıt seçimi ve aygıt değiştirme:"
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr "ARŞİV"
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr "arşiv dosyası ya da ARŞİV aygıtı kullanılır"
 
-#: src/tar.c:513
+#: src/tar.c:515
 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:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "rmt yerine rmt KOMUT kullanılır"
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr "rsh yerine uzak uçta KOMUT kullanılır"
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr "sürücü ve yoğunluk belirtilir"
 
-#: src/tar.c:535
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
 msgstr "çok bölümlü arşivi oluşturur/listeler/çıkarır"
 
-#: src/tar.c:537
+#: src/tar.c:539
 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:539
+#: src/tar.c:541
 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:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr "DOSYAda bölüm numarası kullanılır/güncellenir"
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr "Aygıtın blok düzeni:"
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr "BLOK"
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr "kayıt başına BLOK x 512 bayt"
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "512'nin katları olarak kayıt başına BOYUT bayt"
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "arşivdeki sıfırlı bloklar yoksayılır (dosyasonu anlamında)"
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "okunmuş olarak yeniden bloklanır (4.2 BSD boruları için)"
 
-#: src/tar.c:561
+#: src/tar.c:563
 msgid "Archive format selection:"
 msgstr "Arşiv biçimi seçimi:"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr "BİÇİM"
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr "belirtilen biçimin arşivi oluşturulur."
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr "BİÇİM şunlardan biri olabilir:"
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr "eski V7 tar biçimi"
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr "tar <= 1.12 için GNU biçimi"
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr "GNU tar 1.13.x biçimi"
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "POSIX 1003.1-1988 (ustar) biçimi"
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "POSIX 1003.1-2001 (pax) biçimi"
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr "pax ile aynı"
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr " --format=v7 ile aynı"
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr "--format=posix ile aynı"
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "isim[[:]=değer][,isim[[:]=değer]]..."
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr "pax anahtar sözcüklerini denetler"
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr "METİN"
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1686,176 +1704,189 @@ 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:592
+#: src/tar.c:594
 #, fuzzy
 msgid "Compression options:"
 msgstr "Sıkıştırma seçenekleri çelişiyor"
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:596
+#: src/tar.c:598
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr "arşivi bzip2 üzerinden geçirir"
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr "arşivi gzip üzerinden geçirir"
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr "arşivi compress üzerinden geçirir"
 
-#: src/tar.c:605
+#: src/tar.c:610
 #, fuzzy
 msgid "filter the archive through lzma"
 msgstr "arşivi gzip üzerinden geçirir"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "arşivi gzip üzerinden geçirir"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr "UYG"
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr "arşivi UYG üzerinden geçirir (UYG -d kabul etmeli)"
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr "Yerel dosya seçimi:"
 
-#: src/tar.c:615
+#: src/tar.c:622
 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:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr "DİZİN"
 
-#: src/tar.c:617
+#: src/tar.c:624
 msgid "change to directory DIR"
 msgstr "DİZİN dizinine geçilir"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr "çıkarılacak ya da oluşturulacak isimler DOSYAdan alınır"
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr "-T boş karakter sonlandırmalı isimleri okur, -C iptal edilir"
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr "-T ile okunan dosyaisimlerine tırnak ayıklama uygulanır"
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr "-T ile okunan dosyaisimlerine tırnak ayıklama uygulanmaz"
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "ŞABLON"
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr "belirtilen ŞABLONa uyan dosyalar hariç tutulur"
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr "DOSYAdaki şablonlara uyan isimler hariç tutulur"
 
-#: src/tar.c:631
+#: src/tar.c:640
 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:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "CACHEDIR.TAG içeren dizinlerin altındaki herşey hariç tutulur"
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "CACHEDIR.TAG içeren dizinler hariç tutulur"
 
-#: src/tar.c:639
+#: src/tar.c:648
 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:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
 msgstr "DOSYA içeren dizinlerin altındaki herşey hariç tutulur"
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr "DOSYA içeren dizinler hariç tutulur"
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr "dizinlerde özdevinimli olarak azalan sıralamadan kaçınılır"
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr "arşiv oluşturulurken yerel dosya sisteminde kalınır"
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr "dizinlerin alt dizinlerine inilir (öntanımlı)"
 
-#: src/tar.c:654
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
 msgstr "dosya isimlerinin başındaki `/'lar ayrılmaz"
 
-#: src/tar.c:656
+#: src/tar.c:665
 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:658
+#: src/tar.c:667
 #, fuzzy
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 "sembolik bağlar izlenir; hedeflerindeki dosyalar arşivlenir ve dökümlenir"
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr "ÜYE-İSMİ"
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr "arşivin ÜYE-İSMİ üyesinden başlanır"
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "sadece DOSYA-TARİHİnden daha yeni dosyalar saklanır"
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr "TARİH"
 
-#: src/tar.c:665
+#: src/tar.c:674
 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:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr "DENETİM"
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr "kaldırılmadan önce DENETİM sürümü seçilerek yedeklenir"
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr "DİZGE"
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -1863,89 +1894,89 @@ 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:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr "Dosya ismi dönüşümleri:"
 
-#: src/tar.c:676
+#: src/tar.c:685
 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:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr "İFADE"
 
-#: src/tar.c:679
+#: src/tar.c:688
 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:684
+#: src/tar.c:694
 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:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr "harf büyüklükleri önemsenmez"
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr "dosya isminin başlangıcına uyan kalıplar"
 
-#: src/tar.c:691
+#: src/tar.c:701
 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:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr "harf büyüklüklerine duyarlı eşleşme (öntanımlı)"
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr "genelleme kalıpları kullanılır (dışlama için öntanımlı)"
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr "birebir dizge eşleme"
 
-#: src/tar.c:699
+#: src/tar.c:709
 msgid "wildcards do not match `/'"
 msgstr "'/' ile eşleşmeyen genelleme kalıpları"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr "'/' ile eşleşen genelleme kalıpları (dışlama için öntanımlı)"
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr "Bilgilendirme çıktısı:"
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr "işlenen dosyalar ayrıntılı listelenir"
 
-#: src/tar.c:711
+#: src/tar.c:721
 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:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:727
 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:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr "SiNYAL"
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1956,113 +1987,113 @@ 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:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr "dosya değişiklik zamanları UTC'ye göre basılır"
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr "ayrıntılı çıktı DOSYAya gönderilir"
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr "her iletide arşiv içindeki blok sayısı gösterilir"
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr "her eylemden önce doğrulama istenir"
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr "tar öntanımlıları gösterilir"
 
-#: src/tar.c:735
+#: src/tar.c:745
 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:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr "dönüşümden sonra dosya ve arşiv isimlerini gösterir"
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr "ŞEKİL"
 
-#: src/tar.c:741
+#: src/tar.c:751
 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:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr "DİZGEdeki sarmalama karakterlerine ek olarak"
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr "DİZGEdeki karakterler için sarmalamayı iptal eder"
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr "Uyumluluk seçenekleri:"
 
-#: src/tar.c:753
+#: src/tar.c:763
 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:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr "Diğer seçenekler:"
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr "bozuculuk olasılığı olan bazı seçeneklerin kullanımı iptal edilir"
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "`-Acdtrux' seçenekleri birden fazla belirtilemez"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Sıkıştırma seçenekleri çelişiyor"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Bilinmeyen  sinyal ismi: %s"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 msgid "Date sample file not found"
 msgstr "Tarih örnekleri dosyası bulunamadı"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, 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:1022
+#: src/tar.c:1042
 #, 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:1096
+#: src/tar.c:1119
 #, c-format
 msgid "%s: file list already read"
 msgstr "%s: dosya listesi zaten okundu"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: okunan dosya ismi boş karakter içeriyor"
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr "--quoting-style seçeneği için geçerli değerler:"
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2070,151 +2101,165 @@ msgstr ""
 "\n"
 "*Bu* tar için öntanımlılar:\n"
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Bloklama çarpanı geçersiz"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr "Uyarı: -I seçeneği desteklenmiyor; -j ya da -T mi yazacaktınız yoksa?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Kayıt ortamının uzunluğu geçersiz"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Birden fazla eşik tarihi"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr "Seyrek sürüm değeri geçersiz"
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' seçeneği bu platformda desteklenmiyor"
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr "--checkpoint değeri bir tamsayı değil"
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: geçersiz grup"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Seçenekte verilen kip geçersiz"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr "Sayı geçersiz"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Sahip geçersiz"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Kayıt uzunluğu geçersiz"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Kayıt uzunluğu %d nin katları olmalı"
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr "Elemen sayısı geçersiz"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr "Sadece tek bir --to-command seçeneği kullanılabilir"
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Hatalı yoğunluk argümanı: %s"
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
 msgstr "Bilinmeyen yoğunluk: '%c'"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, 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:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr "[DOSYA]..."
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "Eski seçenek `%c' bir argümanla kullanılır."
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr "--occurrence bir dosya listesi olmaksızın anlamlı değil"
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr "--occurrence istenen işlem kipinde kullanılamaz"
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 msgid "Multiple archive files require `-M' option"
 msgstr "Çok sayıda arşiv dosyası `-M' seçeneği gerektirir"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "--listed-incremental ile --newer birlikte kullanılamaz"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Çok sayıda bölüm içeren arşivler doğrulanamaz"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Sıkıştırılmış arşivler doğrulanamaz"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 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:2281
+#: src/tar.c:2320
 msgid "Cannot concatenate compressed archives"
 msgstr "Sıkıştırılmış arşivler birleştirilemez"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option sadece POSIX arşivlerinde kullanılabilir"
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Bir boş arşivin oluşturulması ister istemez reddediliyor"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "`-Aru' seçenekleri `-f -' ile uyumsuz"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "`-Acdtrux' seçeneklerinden biri belirtilmeli"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Hata çıkışı önceki hatalardan dolayı gecikti"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, c-format
@@ -2223,79 +2268,79 @@ msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Dosya %s baytta kırpılmış"
 msgstr[1] "%s: Dosya %s baytta kırpılmış"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "%s anahtar sözcüğü ya bilinmiyor ya da henüz gerçeklenmemiş"
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "%s şablonu kullanılamıyor"
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "%s anahtar sözcüğü çakıştırılamaz"
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr "Ek başlık bozuk: uzunluk eksik"
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr "Ek başlık uzunluğu izin verilen aralığın dışında"
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Ek başlık uzunluğu %*s aralık dışında"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr "Ek başlık bozuk: uzunluktan sonra boşluk yok"
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr "Ek başlık bozuk: eşit işareti eksik"
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr "Ek başlık bozuk: satırsonu eksik"
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr "Bilinmeyen ek başlık anahtar sözcüğü `%s' yoksayılıyor"
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, 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:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Ek başlık bozuk: %s=%s geçersiz"
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, 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:1328
+#: src/xheader.c:1326
 #, 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:1338
+#: src/xheader.c:1336
 #, 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"
@@ -2466,103 +2511,120 @@ msgstr "Numara izin verilen aralığın dışında: %s"
 msgid "Negative size: %s"
 msgstr "Negatif boyut: %s"
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) başarısız"
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Sayı çözümlenirken `%s' civarında hata"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, c-format
 msgid "Unknown date format"
 msgstr "Bilinmeyen tarih biçimi"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr "[ARGÜMANLAR...]"
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
 msgstr "`%s' açılamıyor"
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 msgid "cannot seek"
 msgstr "konumlanamıyor"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr "dosya ismi boş karakter içeriyor"
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, 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:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "kalıp yanlış (`%s' yakınında)"
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Bilinmeyen alan `%s'"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "zaman `%s' olarak ayarlanamaz"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Komut başarıyla sonlandı\n"
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Komut %d çıkış durumu ile başarısız oldu\n"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Komut %d sinyali ile sonlandırıldı\n"
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Komut %d sinyali ile durduruldu\n"
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Komut bellek dökümü verdi\n"
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr "Komut sonlandı\n"
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat seçeneği dosya isimleri gerektirir"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr "argüman sayısı çok fazla"
 
+#, fuzzy
+#~ msgid "cancel effect of the previous --transform-links option"
+#~ msgstr "--delay-directory-restore seçeneğinin etkisi iptal edilir."
+
 #~ msgid "block size"
 #~ msgstr "blok uzunluğu"
 
 #~ msgid "[.]NUMBER"
 #~ msgstr "[.]SAYI"
+
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Hata çıkışı önceki hatalardan dolayı gecikti"
index 58216e9726c274cf5d14b6e7433f348ca8d5c6ad..0f1ce5a50c41c66b7b4e7023d5419a6a4c3668c4 100644 (file)
Binary files a/po/uk.gmo and b/po/uk.gmo differ
index 1827990ff00785d66567d1e978951ec93309139d..4bd37170aa9418d7d70a962bc49ffca18a2a4a3e 100644 (file)
--- a/po/uk.po
+++ b/po/uk.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.19.90\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
 "PO-Revision-Date: 2008-02-21 19:59+0200\n"
 "Last-Translator: Sergey Poznyakoff <gray@gnu.org>\n"
 "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
@@ -81,7 +81,7 @@ msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr ""
 "Спробуйте `%s --help' або `%s --usage' для отримання докладнішого опису.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Про помилки звітуйте на <%s>.\n"
@@ -90,15 +90,15 @@ msgstr "Про помилки звітуйте на <%s>.\n"
 msgid "Unknown system error"
 msgstr "Невідома системна помилка"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr "вивести цю довідку"
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr "вивести коротке повідомлення про використання"
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr "НАЗВА"
@@ -111,11 +111,11 @@ msgstr "встановити назву програми"
 msgid "SECS"
 msgstr "СЕКУНДИ"
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr "зачекати вказану кількість секунд (типово 3600)"
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr "вивести версію програми"
 
@@ -133,7 +133,7 @@ msgstr "%s: Забагато аргументів\n"
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr "(ПОМИЛКА ПРОГРАМУВАННЯ) Опція мала бути розпізнана!?"
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr "помилка запису"
 
@@ -192,16 +192,16 @@ msgstr "%s: опція `-W %s' неоднозначна\n"
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: опція `-W %s' не може мати аргументу\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "пам'ять вичерпана"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, c-format
 msgid "unable to record current working directory"
 msgstr "не вдається змінити поточний каталог"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, c-format
 msgid "failed to return to initial working directory"
 msgstr "не вдається зберегти поточний каталог"
@@ -323,11 +323,23 @@ msgstr "`"
 msgid "'"
 msgstr "'"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr "^[yYтТ]"
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr "^[nNнН]"
 
@@ -549,66 +561,58 @@ msgstr "Передчасне закінчення файла"
 msgid "Garbage command"
 msgstr "Хибна команда"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Це не схоже на архів tar"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 msgid "Total bytes written"
 msgstr "Записано загалом"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr "Прочитано байтів загалом"
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Видалено загалом: %s\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(канал)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "Недійсне значення record_size"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Не вказано назви архіву"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Неможливо перевіряти архів, записаний до stdout"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Архів стиснений. Використовуйте опцію %s"
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Не можна оновлювати стиснені архіви"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "На початку стрічки, закінчуємо"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Надто багато помилок, виконання перервано"
 
-#: src/buffer.c:678
-#, c-format
-msgid "Unaligned block (%lu byte) in archive"
-msgid_plural "Unaligned block (%lu bytes) in archive"
-msgstr[0] "Невірне вирівнювання блоку (%lu байт) в архіві"
-msgstr[1] "Невірне вирівнювання блоку (%lu байти) в архіві"
-msgstr[2] "Невірне вирівнювання блоку (%lu байтів) в архіві"
-
-#: src/buffer.c:698
+#: src/buffer.c:695
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
@@ -616,39 +620,47 @@ msgstr[0] "Розмір запису = %lu блок"
 msgstr[1] "Розмір запису = %lu блоки"
 msgstr[2] "Розмір запису = %lu блоків"
 
-#: src/buffer.c:771
+#: src/buffer.c:716
+#, c-format
+msgid "Unaligned block (%lu byte) in archive"
+msgid_plural "Unaligned block (%lu bytes) in archive"
+msgstr[0] "Невірне вирівнювання блоку (%lu байт) в архіві"
+msgstr[1] "Невірне вирівнювання блоку (%lu байти) в архіві"
+msgstr[2] "Невірне вирівнювання блоку (%lu байтів) в архіві"
+
+#: src/buffer.c:793
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr ""
 "Не вдалося переміститись назад у архіві; можливо архів не можна прочитати "
 "без опції -i"
 
-#: src/buffer.c:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek не зупинився на межі запису"
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: містить невірний номер тому"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Переповнення номера тому"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "Підготуйте том #%d архіву %s ї натиснить return: "
 
-#: src/buffer.c:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "Кінець файлу, замість очікуваної відповіді"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "ПОПЕРЕДЖЕННЯ: Незавершений архів"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -659,65 +671,66 @@ msgstr ""
 " q          Перервати роботу\n"
 " у або новий рядок  Продовжувати\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !          Викликати оболонку\n"
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?          Вивести цю довідку\n"
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Новий том відсутній. Завершення.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr "Не вказано назви файлу. Спробуйте ще раз.\n"
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Недійсні вхідні дані. Наберіть ? щоб отримати підказку.\n"
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, c-format
 msgid "%s command failed"
 msgstr "збій виконання `%s'"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr ""
 "%s можливо продовжується у цьому томі: заголовок містить обрізану назву"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s не продовжується у цьому томі"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s є неправильним розміром (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Цей том є за межами послідовності"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Назви тому відсутня в архіві. Не можна порівняти з %s"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Етикетка тому %s не співпадає з %s"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -725,6 +738,11 @@ msgstr ""
 "%s: назва файлу надто довга щоб зберегти її у заголовку тому GNU; назву "
 "обрізано"
 
+#: src/buffer.c:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "rmtlseek не зупинився на межі запису"
+
 #: src/compare.c:96
 #, c-format
 msgid "Could only read %lu of %lu byte"
@@ -737,8 +755,8 @@ msgstr[2] "Вдалося прочитати тільки %lu з %lu байті
 msgid "Contents differ"
 msgstr "Різниця у змісті"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Неочікуваний кінець файла в архіві"
 
@@ -858,7 +876,7 @@ msgstr[2] "%s: Файл скоротився на %s байтів; заповн
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s: файл знаходиться в іншої файлової системі; не архівується"
 
-#: src/create.c:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr "вміст не архівується"
 
@@ -887,7 +905,7 @@ msgstr "%s: файл є архівом; не архівується"
 msgid "%s: File removed before we read it"
 msgstr "%s: Файл було видалено перед тим як tar встиг його прочитати"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr "каталог не архівується"
 
@@ -939,168 +957,168 @@ msgstr "%s: Каталог перейменовано перед тим, як ta
 msgid "Extracting contiguous files as regular files"
 msgstr "Витягування безперервних файлів у звичайні"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Спроба перетворити символічні посилання на жорсткі"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Зчитування %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Не вдається витягнути -- файл починається в іншому томі"
 
-#: src/extract.c:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 msgid "Unexpected long name header"
 msgstr "Неочікуваний кінець файла у заголовку довгої назви"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
 msgstr "%s: Невідомий тип файлу `%c', спроба витягнути його як звичайний файл"
 
 # FIXME: або сучасний?
-#: src/extract.c:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "Існуючий файл `%s' є новіший"
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s: Не вдалося створити резервну копію цього файла"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Не вдається перейменувати %s на %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "Невиправна помилка: завершення роботи"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Каталог перейменовано з %s"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Каталог перейменовано"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Новий каталог"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Невірний час файлу"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 msgid "Invalid modification time (seconds)"
 msgstr "Невірна дата модифікації (секунди)"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr "Недійсний час модифікації (наносекунди)"
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Невірний номер пристрою"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Невірний номер і-вузла"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr "З файла-знімка прочитано надто довге поле"
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr "Помилка читання файла-знімка"
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 msgid "Unexpected EOF in snapshot file"
 msgstr "Неочікуваний кінець файла-знімка"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr "Неочікуваний кінець файла-знімка"
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr "Бракує ознаки кінця запису"
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr "Неправильний формат файла знімку"
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr "Такий інкрементний формат не підтримується: %<PRIuMAX>"
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 "Неправильно сформований dumpdir: очікувалося '%c' натомість знайдено %#3o"
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Неправильно сформований dumpdir: 'X' вказаний двічі"
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Невірний формат dumpdir: пуста назва у `R'"
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr "Невірний формат dumpdir: `T' без попереднього `R'"
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Невірний формат dumpdir: пуста назва у `T'"
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 "Невірний формат dumpdir: очікувалося `%c', натомість знайдено кінець файла"
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Невірний формат dumpdir: `X' не використаний"
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr "Не вдається створити тимчасовий каталог використовуючи шаблон %s"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s: Каталог не очищується: не вдалося виконати stat"
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s: Каталог знаходиться на іншому пристрої: не очищується"
 
-#: src/incremen.c:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Стирання %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Не вдається видалити"
@@ -1120,19 +1138,19 @@ msgstr "блок %s: ** Містить нулі **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "блок %s: ** Кінець файлу **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "блок %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
 msgstr ""
@@ -1140,17 +1158,17 @@ msgstr ""
 "вважається, що це є двійкове доповнення"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:728
+#: src/list.c:737
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Вісімкове значення %.*s знаходиться поза межами діапазону типу %s"
 
 # FIXME: base=64?
-#: src/list.c:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Архів містить застарілі заголовки з основою 64"
 
-#: src/list.c:763
+#: src/list.c:772
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr ""
@@ -1158,54 +1176,54 @@ msgstr ""
 "типу %s"
 
 # FIXME: base-256
-#: src/list.c:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Значення %s поза допустимими межами типу %s %s..%s"
 
-#: src/list.c:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr "посилання до %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr "невідомий тип файла %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Довге посилання--\n"
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Довга назва--\n"
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Заголовок тому--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Продовжується з байту %s--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Створення каталогу:"
 
@@ -1242,25 +1260,25 @@ msgstr "канал між процесами"
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr "Назви файлів містять символи-шаблони.  Будь ласка, користайтеся"
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
 "опцією --wildcards аби увімкнути шаблони, або опцією --no-wildcards, щоб"
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr "усунути це повідомлення."
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Не знайдено в архіві"
 
-#: src/names.c:621
+#: src/names.c:615
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s: Потрібну копію у архіві не знайдено"
@@ -1287,7 +1305,7 @@ msgstr ""
 "Невідомий стиль цитування `%s'. Наберіть `%s --quoting-style=help' аби "
 "отримати перелік стилів."
 
-#: src/tar.c:334
+#: src/tar.c:336
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1306,7 +1324,7 @@ msgstr ""
 "                               # archive.tar\n"
 "  tar -xf archive.tar          # Витягує усі файли з archive.tar.\n"
 
-#: src/tar.c:343
+#: src/tar.c:345
 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 "
@@ -1328,88 +1346,88 @@ msgstr ""
 "                  інакше - прості\n"
 "  never, simple   завжди створювати прості резервні копії\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr "Режими роботи:"
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr "вивести вміст архіву"
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr "витягнути файли з архіву"
 
-#: src/tar.c:377
+#: src/tar.c:379
 msgid "create a new archive"
 msgstr "створити новий архів"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr "порівняти файли в архіві з файлами у файлової системі"
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr "долучити файли до існуючого архіву"
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr "долучати тільки такі файли, що є новішими за їх копії в архіві"
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr "долучити архів до архіву"
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "видалити файли з архіву (не на стрічці!)"
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr "перевірити мітку тому та вийти"
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr "Модифікатори режиму роботи:"
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr "заощаджувати простір під час зберігання розсіяних файлів"
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr "ГОЛОВНИЙ[.ДРУГОРЯДНИЙ]"
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr "встановлює версію формату розсіяних файлів (вмикає --sparse)"
 
 # FIXME: incremental
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr "обробка старого формату інкрементного архіву GNU"
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr "ФАЙЛ"
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr "обробка нового формату інкрементного архіву GNU"
 
 # FIXME: хммм...
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr "ігнорувати помилки читання файлів"
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr "ЧИСЛО"
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1421,118 +1439,118 @@ msgstr ""
 "з переліком файлів (у командному рядку або за допомогою опції -T). Типове "
 "ЧИСЛО: 1."
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr "архів підтримує операцію seek"
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr "Керування перезаписом:"
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr "перевірити архів після запису в нього"
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr "видаляти файли після додавання до архіву"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr "не заміняти існуючи файли під час витягування"
 
-#: src/tar.c:435
+#: src/tar.c:437
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr "не заміняти існуючи файли що є новішими за їх копії у архіві"
 
-#: src/tar.c:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr "перезаписувати існуючі файли під час витягування"
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr "видаляти кожний файл перед витягуванням його копії"
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr "спорожняти старий каталог перед витягуванням його копії з архіву"
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr "зберігати мета-дані існуючих каталогів"
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 "перезаписувати метадані існуючих каталогів під час витягування (типово)"
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr "Вибір вихідного потоку:"
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
 msgstr "витягувати файли у стандартний вивід"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr "КОМАНДА"
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr "передавати витягнуті файли до стандартного вводу іншої програми"
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr "ігнорувати коди завершення процесів-нащадків"
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr "вважати ненульовий код завершення нащадка помилкою"
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr "Обробка атрибутів файлу:"
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr "встановлення вказаного користувача власником доданих файлів"
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr "встановлення групи з вказаною назвою групою власника доданих файлів"
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr "ДАТА-АБО-ФАЙЛ"
 
-#: src/tar.c:472
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "встановлення часу останньої зміни доданих файлів"
 
 # Ну, і чому це CHANGES??
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr "ПРАВА"
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "встановлення вказаних символічно прав доступу для доданих файлів"
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr "МЕТОД"
 
-#: src/tar.c:477
+#: src/tar.c:479
 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 "
@@ -1542,29 +1560,29 @@ msgstr ""
 "читання (типово, МЕТОД='replace'), або через запобігання оновленню часу "
 "(МЕТОД='system')"
 
-#: src/tar.c:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr "не витягувати час модифікації файлів"
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr "витягувати назву власника файлів"
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr "стати власником витягнутих файлів"
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr "завжди використовувати числа замість назв власника/групи"
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 "встановлювати права доступу згідно з даними архіву (типово для супер-"
 "користувача)"
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1572,15 +1590,15 @@ msgstr ""
 "встановлювати права доступу згідно зі значенням umask (типово для звичайного "
 "користувача)"
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr "витягувати файли у порядку їх з'явлення в архіві"
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr "те ж, що -p -s разом"
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1588,139 +1606,139 @@ msgstr ""
 "затримати встановлення часу модифікації та прав доступу до каталогів до "
 "кінця витягування"
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr "відмінити дії опції --delay-directory-restore"
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr "Вибір та зміна пристрою:"
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr "АРХІВ"
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr "використовувати вказаний файл або пристрій"
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
 msgstr "файл архіву є локальним, навіть якщо його назва містить двокрапку"
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "використовувати вказану команду замість rmt"
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr "використовувати вказану команду замість rsh"
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr "визначає пристрой та густину"
 
-#: src/tar.c:535
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
 msgstr "створити, виводити зміст або витягувати файли з багатотомного архіву"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "змінити стрічку після запису ЧИСЛА x 1024 байтів"
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr "запускати сценарій наприкінці кожної стрічки (вмикає -M)"
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr "використовувати/обновляти номер тому у ФАЙЛІ"
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr "Блокування пристрою:"
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr "ЧИСЛО-БЛОКІВ"
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr "розмір запису ЧИСЛО-БЛОКІВ x 512 байтів"
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "встановити розмір запису у блоках по 512 байтів"
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "ігнорувати нульові блоки в архіві (звичайно вказують кінець файлу)"
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "розбивати на блоки під час читання (для каналів 4.2BSD)"
 
-#: src/tar.c:561
+#: src/tar.c:563
 msgid "Archive format selection:"
 msgstr "Вибір формату архіву:"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr "ФОРМАТ"
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr "створити архів у вказаному форматі"
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr "ФОРМАТ будь-який з наступних:"
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr "старий формат V7"
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr "формат GNU, сумісний з версією tar <= 1.12"
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr "формат GNU, сумісний з версією tar 1.13.x"
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "формат POSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "формат POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr "те ж, що і pax"
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr "те ж, що і --format=v7"
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr "те ж, що і --format=posix"
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "ключове_слово[[:]=значення][,ключове_слово[[:]=значення], ...]\""
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr "керування ключовими словами pax"
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr "ТЕКСТ"
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1728,85 +1746,99 @@ msgstr ""
 "створити архів з назвою тому \"ТЕКСТ\". Під час виводу змісту або "
 "витягування, використовувати ТЕКСТ як шаблон пошуку тому"
 
-#: src/tar.c:592
+#: src/tar.c:594
 msgid "Compression options:"
 msgstr "Опції стиснення:"
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
 msgstr "вибирати програму стиснення за суфіксом архіву"
 
-#: src/tar.c:596
+#: src/tar.c:598
+#, fuzzy
+msgid "do not use use archive suffix to determine the compression program"
+msgstr "вибирати програму стиснення за суфіксом архіву"
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr "використовувати bzip2 для стиснення/розтискання архіву"
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr "використовувати gzip для стиснення/розтискання архіву"
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr "використовувати compress для стиснення/розтискання архіву"
 
-#: src/tar.c:605
+#: src/tar.c:610
 msgid "filter the archive through lzma"
 msgstr "використовувати lzma для стиснення/розтискання архіву"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "використовувати gzip для стиснення/розтискання архіву"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr "ПРОГРАМА"
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr "використовувати ПРОГРАМУ для стиснення/розтискання архіву"
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr "Вибір файлів:"
 
-#: src/tar.c:615
+#: src/tar.c:622
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr "долучити ФАЙЛ до архіву (корисне, якщо його назва починається з -)"
 
-#: src/tar.c:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr "КАТАЛОГ"
 
-#: src/tar.c:617
+#: src/tar.c:624
 msgid "change to directory DIR"
 msgstr "перейти до вказаного каталогу"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr "читати назви файлів для додання/витягування з вказаного файла"
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr ""
 "файл, вказаний з опцією -T, містить назви, відокремлені нульовими символами. "
 "Ця опція вимикає -C"
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr "усувати цитування з назв файлів прочитаних за допомогою -T (типово)"
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr "не усувати цитування з назв файлів прочитаних за допомогою -T"
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "ШАБЛОН"
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr "не обробляти файли, назви яких відповідають вказаному шаблону"
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr "виключити назви що відповідають шаблонам, вказаним у файлі"
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1814,88 +1846,88 @@ msgstr ""
 "не архівувати файли в каталогах, що містять CACHEDIR.TAG, з винятком самого "
 "файлу"
 
-#: src/tar.c:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "не архівувати жодні файли в каталогах, що містять CACHEDIR.TAG"
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "не архівувати каталоги, що містять CACHEDIR.TAG"
 
-#: src/tar.c:639
+#: src/tar.c:648
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr ""
 "не архівувати файли в каталогах, що містять ФАЙЛ, з винятком самого файлу"
 
-#: src/tar.c:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
 msgstr "не архівувати жодні файли в каталогах, що містять ФАЙЛ"
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr "не архівувати каталоги, що містять ФАЙЛ"
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr "не архівувати каталоги систем керування версіями"
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr "не заходити автоматично у каталоги"
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr "залишатися у локальної файлової системі під час створення архіву"
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr "рекурсивно проходити каталоги (типово)"
 
-#: src/tar.c:654
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
 msgstr "не видаляти початкову косу риску `/' з назв файлів"
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "Йти за символьними посиланнями: долучати файли, на яки вони вказують"
 
-#: src/tar.c:658
+#: src/tar.c:667
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "Йти за жорсткими посиланнями: долучати файли, на яки вони вказують"
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr "НАЗВА-ФАЙЛУ"
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr "починати обслуговування архіву з вказаного файлу"
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "долучати тільки такі файли, що є новіші за вказану дату або файл"
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr "ДАТА"
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr "порівнювати тільки дату і час зміни даних"
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr "РЕЖИМ"
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr "перед видаленням створювати резервні файли у вказаному режимі"
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr "РЯДОК"
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -1903,90 +1935,90 @@ msgstr ""
 "перед видаленням створювати резервні файли з указаним суфіксом (типово '~', "
 "якщо не перевизначено змінною середовища SIMPLE_BACKUP_SUFFIX)"
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr "Перетворювання назв файлів:"
 
-#: src/tar.c:676
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "видаляти вказане ЧИСЛО компонентів з початку назв файлів"
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr "ВИРАЗ"
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr "перетворювати назви файлів за допомогою вказаного виразу заміни"
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 "Керування порівнюванням назв (впливає на взірці як вилучення, так і "
 "долучення):"
 
-#: src/tar.c:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr "шаблони ігнорують відмінності у регістрі символів"
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
 msgstr "порівнювати шаблони з назвами файлів починаючи від початку назви"
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr ""
 "порівнювати шаблони з назвами файлів починаючи від будь-якого / (типово)"
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr "шаблони враховують регістр (типово)"
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr "користатися шаблонами (типово для вилучення)"
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr "порівнювати назви буквально"
 
-#: src/tar.c:699
+#: src/tar.c:709
 msgid "wildcards do not match `/'"
 msgstr "шаблони не стосуються до '/'"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr "шаблони стосуються до '/' (типово)"
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr "Інформативний вивід:"
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr "виводити докладну інформацію про оброблені файли"
 
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "виводити контрольне повідомлення кожне ЧИСЛО записів (типово 10)"
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr "ДІЯ"
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr "виконати вказану дію у контрольному пункті"
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr "виводити повідомлення якщо до архіву було додано не всі посилання"
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr "СИГНАЛ"
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1997,27 +2029,27 @@ msgstr ""
 "- друкувати статистику по отриманню цього сигналу; дозволеними сигналами є "
 "SIGHUP, SIGQUIT, SIGINT, SIGUSR1 і SIGUSR2, а також ці назви без префікса SIG"
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr "друкувати час модифікації файлів у UTC"
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr "виводити детальну інформацію у ФАЙЛ"
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr "попереджувати кожне повідомлення номером блоку в архіві"
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr "Запитувати підтвердження кожної дії"
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr "вивести типові налаштування"
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2025,31 +2057,31 @@ msgstr ""
 "під час виведення змісту або витягування файлів друкувати назви каталогів що "
 "не відповідають критеріям пошуку"
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr "показувати перетворені назви файлів"
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr "СТИЛЬ"
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr "встановити стиль цитування; дозволені стилі див. нижче"
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr "цитувати також вказані символи"
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr "вимкнути цитування вказаних символів"
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr "Опції сумісності:"
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2057,56 +2089,56 @@ msgstr ""
 "під час створення архіву, те ж саме, що і --old-archive. Під час "
 "витягування, те ж саме, що --no-same-owner"
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr "Інші опції:"
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr "заборонити користування деякими потенційно небезпечними опціями"
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Не можна вказувати більш ніж одну з опцій `-Acdtrux'"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Опції стиснення конфліктують одна з другою"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Невідомий тип файла %s"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 msgid "Date sample file not found"
 msgstr "Не знайдено файл-зразок дати"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "Використовується %s замість невідомого формату дати %s"
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr "Опція %s: Дату `%s' сприйнято як %s"
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, c-format
 msgid "%s: file list already read"
 msgstr "%s: перелік файлів уже прочитано"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: прочитана назва файла містить нульовий символ"
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr "Допустимими аргументами опції --quoting-style є:"
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2114,111 +2146,117 @@ msgstr ""
 "\n"
 "Типові налаштування *цієї* копії програми:\n"
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Неправильний фактор блокування"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr ""
 "Попередження: опція -I не підтримується. Можливо ви маєте на увазі -j або -T?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Неправильна довжина стрічки"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Більш ніж одна гранична дата"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr "Недійсна версія формату розсіяних файлів"
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "опція --atime-preserve='system' не підтримується на цій платформі"
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr "аргумент --checkpoint мусить бути цілим числом"
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: Невірна група"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Невірний формат прав доступу"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr "Невірне число"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Невірний власник"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Невірний розмір запису"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "Розмір запису має ділитися на %d."
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr "Невірна кількість елементів"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr "Дозволяється лише одна опція --to-command"
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Невірний аргумент вказання густини: `%s'"
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
 msgstr "Невідома густина: `%c'"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, c-format
 msgid "Options `-[0-7][lmh]' not supported by *this* tar"
 msgstr "Опції `-[0-7][lmh]' не підтримуються *цією* версією tar"
 
-#: src/tar.c:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr "[ФАЙЛ]..."
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "Стара опція `%c' потребує аргументу"
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr "вказання --occurrence не має сенсу без вказання переліку файлів"
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr ""
 "опцію --occurrence не можна використовувати у зазначеному режимі роботи"
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 msgid "Multiple archive files require `-M' option"
 msgstr "Вказання декількох файлів потребує вказання опції `-M'"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "Не можна використовувати --listed-incremental разом з --newer"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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)"
@@ -2226,42 +2264,50 @@ msgstr[0] "%s: Мітка тому є надто довга (обмеження
 msgstr[1] "%s: Мітка тому є надто довга (обмеження в %lu байти)"
 msgstr[2] "%s: Мітка тому є надто довга (обмеження в %lu байтів)"
 
-#: src/tar.c:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Не можна перевіряти багатотомні архіви"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Не можна перевіряти стиснені архіви"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Не можна використовувати стиснення багатотомних архівів"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 msgid "Cannot concatenate compressed archives"
 msgstr "Не можна з'єднувати стиснені архіви"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "Опція --pax-option використовується тільки з архівами у форматі POSIX"
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Полохливо відмовляюся створювати пустий архів"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "Опції `-Aru' не сумісні з `-f -'"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Необхідно вказати одну з опцій `-Acdtrux'"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Вихід з помилкою є викликаний попередніми помилками"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, c-format
@@ -2271,84 +2317,84 @@ msgstr[0] "%s: Файл скоротився на %s байт"
 msgstr[1] "%s: Файл скоротився на %s байти"
 msgstr[2] "%s: Файл скоротився на %s байтів"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Ключове слово %s не є відоме або ще не реалізоване"
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Шаблон %s забороняється уживати"
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Не можна перевизначити ключове слово %s"
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr "Невірно сформований розширений заголовок: бракує довжини"
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr "Довжина розширеного заголовку є за межами діапазону"
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Довжина розширеного заголовку %*s є за межами діапазону"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr ""
 "Невірно сформований розширений заголовок: відсутній пробіл після довжини"
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr "Невірно сформований розширений заголовок: відсутній знак рівняння"
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr "Невірно сформований розширений заголовок: відсутній знак нового рядка"
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr "Невідоме ключове слово `%s' іґнорується"
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr ""
 "Значення розширеного заголовку %s=%s лежить поза допустимими межами типу %s.."
 "%s"
 
-#: src/xheader.c:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "Невірно сформований розширений заголовок: недійсна змінна %s=%s"
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "Невірно сформований розширений заголовок: зайвий %s=%s"
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 "Невірно сформований розширений заголовок: змінна %s: неочікуваний розділювач "
 "%c"
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "Невірно сформований розширений заголовок %s: непарна кількість значень"
@@ -2518,102 +2564,119 @@ msgstr "Число поза допустимими межами: %s"
 msgid "Negative size: %s"
 msgstr "Від'ємний розмір: %s"
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr "збій виконання stat(%s)"
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Помилка розбору числа біля `%s'"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, c-format
 msgid "Unknown date format"
 msgstr "Невідомий формат дати"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr "[АРГУМЕНТИ...]"
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
 msgstr "не вдається відкрити `%s'"
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 msgid "cannot seek"
 msgstr "не вдається виконати lseek"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr "назва файла містить нульовий символ"
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 "неможливо створювати розсіяні файли на стандартному виводі; користайтеся "
 "опцією --file"
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "недійсна маска (біля `%s')"
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Невідоме поле `%s'"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "не вдається встановити час файла `%s'"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Команда завершилася успішно\n"
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Команда завершилася з кодом %d\n"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr "Команда завершилася по сигналу %d\n"
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr "Команда зупинилася по сигналу %d\n"
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Команда скинула відбиток пам'яті\n"
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr "Команда завершилася\n"
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, c-format
 msgid "--stat requires file names"
 msgstr "опція --stat вимагає назв файлів"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr "забагато аргументів"
 
+#, fuzzy
+#~ msgid "cancel effect of the previous --transform-links option"
+#~ msgstr "відмінити дії опції --delay-directory-restore"
+
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Вихід з помилкою є викликаний попередніми помилками"
+
 #~ msgid "block size"
 #~ msgstr "розмір блока"
 
index 41a118fd0c0c4f7a7f82873677b07d4b7d2adb1a..583b0dd584a940d31665b992c1699233b00a5e03 100644 (file)
Binary files a/po/vi.gmo and b/po/vi.gmo differ
index ac23dd087230656c9bf9032fea88826c3d062079..aeca3250131c96adb00adfe59a9af0a9f6e201a9 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -1,22 +1,22 @@
 # Vietnamese translation for Tar.
 # Copyright © 2008 Free Software Foundation, Inc.
-# This file is distributed under the same license as the tar-1.19.90 package.
+# This file is distributed under the same license as the tar-1.20 package.
 # Phan Vinh Thinh <teppi82@gmail.com>, 2005.
 # Clytie Siddall <clytie@riverland.net.au>, 2007-2008.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.19.90\n"
+"Project-Id-Version: tar 1.20\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
-"PO-Revision-Date: 2008-02-09 11:37+1030\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
+"PO-Revision-Date: 2008-04-15 22:28+0930\n"
 "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
 "Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: LocFactoryEditor 1.7b1\n"
+"X-Generator: LocFactoryEditor 1.7b3\n"
 
 #: lib/argmatch.c:133
 #, c-format
@@ -83,7 +83,7 @@ msgstr " [TÙY CHỌN...]"
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr "Hãy thử `%s --help' hoặc `%s --usage' để biết thêm thông tin.\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "Báo cáo lỗi tới %s.\n"
@@ -92,15 +92,15 @@ msgstr "Báo cáo lỗi tới %s.\n"
 msgid "Unknown system error"
 msgstr "Lỗi hệ thống không rõ"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
 msgstr "hiển thị trợ giúp này"
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
 msgstr "hiển thị cách sử dụng ngắn gọn"
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr "TÊN"
@@ -113,11 +113,11 @@ msgstr "đặt tên chương trình"
 msgid "SECS"
 msgstr "GIÂY"
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr "treo trong vòng GIÂY giây (mặc định 3600)"
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
 msgstr "In ra phiên bản chương trình"
 
@@ -135,7 +135,7 @@ msgstr "%s: Quá nhiều đối số\n"
 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 !?"
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr "lỗi ghi"
 
@@ -194,16 +194,16 @@ msgstr "%s: tùy chọn `-W %s' không rõ ràng\n"
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: tùy chọn `-W %s' không yêu cầu một tham số\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "cạn bộ nhớ"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, 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"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, 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"
@@ -319,11 +319,23 @@ msgstr "`"
 msgid "'"
 msgstr "'"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr "^[cCyY]"
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr "^[kKnN]"
 
@@ -547,100 +559,100 @@ msgstr "Kết thúc sớm của tập tin"
 msgid "Garbage command"
 msgstr "Câu lệnh rác"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "Đây có vẻ không phải là một tập tin lưu trữ tar"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 msgid "Total bytes written"
 msgstr "Tổng số byte đã ghi"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr "Tổng số byte đã đọc"
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "Tổng số byte đã xoá: %s\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(đường ống)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "Giá trị cho record_size không đúng"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "Không đưa ra tên tập tin lưu trữ"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "Không kiểm tra được tập tin lưu trữ stdin/stdout"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "Tập tin lưu trữ được nén. Hãy sử dụng tùy chọn %s"
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "Không cập nhật được lưu trữ đã nén"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "Tại đầu băng ghi âm, thoát ra bây giờ"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "Quá nhiều lỗi, đang thoát"
 
-#: src/buffer.c:678
+#: src/buffer.c:695
 #, c-format
-msgid "Unaligned block (%lu byte) in archive"
-msgid_plural "Unaligned block (%lu bytes) in archive"
+msgid "Record size = %lu block"
+msgid_plural "Record size = %lu blocks"
 msgstr[0] "Khối chưa sắp hàng (%lu byte) trong tập tin lưu trữ"
 
-#: src/buffer.c:698
+#: src/buffer.c:716
 #, c-format
-msgid "Record size = %lu block"
-msgid_plural "Record size = %lu blocks"
+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 tập tin lưu trữ"
 
-#: src/buffer.c:771
+#: src/buffer.c:793
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "Không thể \"tua\" lại tập tin lưu trữ; nó có thể đọc khi không có -i"
 
-#: src/buffer.c:803
+#: src/buffer.c:825
 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:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s: chứa số thứ tự khối không đúng"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "Số thứ tự khối thừa ra"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, 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:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "Kết thúc tập tin (EOF) khi mong đợi trả lời của người dùng"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "CẢNH BÁO: Tập tin lưu trữ không hoàn thành"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -651,64 +663,65 @@ msgstr ""
 " q          Dừng tar\n"
 " y hay dòng mới\tTiếp tục lại chạy tiến trình\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr " !             Tạo một trình bao con\n"
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr " ?             In ra danh sách này\n"
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "Không có khối mới; đang thoát.\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 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:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr "Gõ sai. (Gỏ ? để xem trợ giúp.)\n"
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, c-format
 msgid "%s command failed"
 msgstr "Câu lệnh %s không thành công"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, 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:1203
+#: src/buffer.c:1223
 #, 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:1217
+#: src/buffer.c:1237
 #, 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:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "Khối này vượt quá dãy cho phép"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "Tập tin lưu trữ không có nhãn tương ứng với %s"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "Khối %s không tương ứng %s"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
@@ -716,6 +729,11 @@ 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:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "rmtlseek không dừng lại tại một ranh giới bản ghi"
+
 #: src/compare.c:96
 #, c-format
 msgid "Could only read %lu of %lu byte"
@@ -726,8 +744,8 @@ msgstr[0] "Chỉ đọc được %lu từ %lu byte"
 msgid "Contents differ"
 msgstr "Diff nội dung"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "Kết thúc tập tin không mong đợi trong lưu trữ"
 
@@ -843,7 +861,7 @@ msgstr[0] "%s: Tập tin được rút ngắn %s byte; độn vào bắng các s
 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:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr "chưa đổ nội dung"
 
@@ -872,7 +890,7 @@ msgstr "%s: tập tin là một lưu trữ; không được dump"
 msgid "%s: File removed before we read it"
 msgstr "%s: Tập tin bị xóa trước khi chúng ta đọc nó"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
 msgstr "chưa đổ thư mục"
 
@@ -923,165 +941,165 @@ msgstr "%s: Đổi tên thư mục trước khi có thể giải phóng trạng
 msgid "Extracting contiguous files as regular files"
 msgstr "Giải nén các tập tin liền nhau thành những tập tin thông thường"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "Đang thử giải nén liên kết mềm thành liên kết cứng"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "Đọc %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s: Không giải nén được -- tập tin tiếp tục từ khối khác"
 
-#: src/extract.c:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 msgid "Unexpected long name header"
 msgstr "Phần đầu tên dài không mong đợi"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
 msgstr "%s: Dạng tập tin không rõ '%c' nên giải nén như tập tin thông thường"
 
-#: src/extract.c:1184
+#: src/extract.c:1181
 #, c-format
 msgid "Current %s is newer or same age"
 msgstr "%s hiện thời là mới hay hay cùng thời"
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, 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:1358
+#: src/extract.c:1355
 #, c-format
 msgid "Cannot rename %s to %s"
 msgstr "Không thể đổi tên %s thành %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "Lỗi không thể phục hồi: thoát bây giờ"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s: Đã đổi tên thư mục từ %s"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s: Đã đổi tên thư mục"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s: Thư mục là mới"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "Tem thời gian không đúng"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 msgid "Invalid modification time (seconds)"
 msgstr "Thời gian sửa đổi không hợp lệ (giây)"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr "Thời gian sửa đổi không hợp lệ (nanô-giây)"
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "Số thứ tự thiết bị không đúng"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "Số thứ tự chỉ mục inode sai"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr "Trường quá dài trong khi đọc tập tin ảnh chụp"
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr "Lỗi đọc trong tập tin ảnh chụp"
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 msgid "Unexpected EOF in snapshot file"
 msgstr "Kết thúc tập tin (EOF) không mong đợi trong tập tin ảnh chụp"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr "Giá trị trường không mong đợi trong tập tin ảnh chụp"
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr "Thiếu dấu giới hạn mục ghi"
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr "Định dạng tập tin dần sai"
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, 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:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr "Thư mục đổ dạng sai: mong đợi « %c » còn tìm %#3o"
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr "Thư mục đổ dạng sai: « X » đã nhân đôi"
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "Thư mục đổ dạng sai: tên rỗng trong « R »"
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr "Thư mục đổ dạng sai: « T » không có « R » đi trướ"
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "Thư mục đổ dạng sai: tên rỗng trong « T »"
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr "Thư mục đổ dạng sai: mong đợi « %c » còn tìm kết thúc dữ liệu"
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr "Thư mục đổ dạng sai: « X » không bao giờ dùng"
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, 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:1543
+#: src/incremen.c:1603
 #, 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:1556
+#: src/incremen.c:1616
 #, 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:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s: Đang xóa %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s: Không thể xóa bỏ"
@@ -1101,87 +1119,87 @@ msgstr "khối %s: ** Khối của các số không (NUL) **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "khối %s: ** Kết thúc tập tin **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "khối %s: "
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, c-format
 msgid "Blanks in header where numeric %s value expected"
 msgstr "Khoảng trống trong Phần đầu trong khi mong đợi một giá trị số %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:717
+#: src/list.c:726
 #, 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 lưu trữ 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:728
+#: src/list.c:737
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "Giá trị hệ tám %.*s của lưu trữ vượt ra phạm vi %s"
 
-#: src/list.c:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "Lưu trữ chứa phần đầu base-64 không còn dùng nữa"
 
-#: src/list.c:763
+#: src/list.c:772
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "Lưu trữ ký chuỗi base-64 %s vượt ra ngoài vùng %s"
 
-#: src/list.c:794
+#: src/list.c:803
 #, c-format
 msgid "Archive base-256 value is out of %s range"
 msgstr "Giá trị base-256 của lưu trữ vượt ra ngoài vùng %s"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:823
+#: src/list.c:832
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
 msgstr "Lưu trữ chứa %.*s ở chỗ mong đợi giá trị số %s"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:845
+#: src/list.c:854
 #, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "Giá trị lưu trữ %s vượt quá phạm vi %s (%s..%s)"
 
-#: src/list.c:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " liên kết tới %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " dạng tập tin không rõ %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--Liên kết Dài--\n"
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--Tên Dài--\n"
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--Phần đầu Khối--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--Tiếp tục tại byte %s--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "Đang tạo thư mục:"
 
@@ -1218,24 +1236,24 @@ msgstr "kênh (channel) giữa các tiến trình"
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr "Tên tập tin chứa ký tự khớp mẫu."
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr "Hãy dùng « --wildcards » để hiệu lực khớp mẫu,"
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr "hoặc dùng « --no-wildcards » để thu hồi cảnh báo này."
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s: Không tìm thấy trong lưu trữ"
 
-#: src/names.c:621
+#: src/names.c:615
 #, 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 lưu trữ"
@@ -1262,7 +1280,7 @@ msgstr ""
 "Không rõ kiểu dáng trích dẫn « %s ». Hãy thử lệnh « %s --quoting-style=help » "
 "để xem danh sách."
 
-#: src/tar.c:334
+#: src/tar.c:336
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1282,7 +1300,7 @@ msgstr ""
 "kho.tar.\n"
 "  tar -xf kho.tar          # Giải phóng tất cả các tập tin ra từ kho.tar.\n"
 
-#: src/tar.c:343
+#: src/tar.c:345
 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 "
@@ -1303,86 +1321,86 @@ msgstr ""
 "  nil, existing   đánh số nếu lưu trữ tồn tại, nếu không thì đơn giản\n"
 "  never, simple   luôn luôn tạo lưu trữ đơn giản\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr "Chế độ thao tác chính:"
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr "liệt kê nội dung của một lưu trữ"
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr "giải phóng các tập tin từ một lưu trữ"
 
-#: src/tar.c:377
+#: src/tar.c:379
 msgid "create a new archive"
 msgstr "tạo một lưu trữ mới"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr "tìm sự khác nhau giữa lưu trữ và hệ thống tập tin"
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr "thêm các tập tin vào cuối một lưu trữ"
 
-#: src/tar.c:384
+#: src/tar.c:386
 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 lưu trữ"
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr "thêm các tập tin tar vào một lưu trữ"
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "xóa từ lưu trữ (không dùng trên các băng ghi âm mag!)"
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr "thử nhãn khối tin lưu trữ rồi thoát"
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr "Từ khóa bổ nghĩa thao tác:"
 
-#: src/tar.c:399
+#: src/tar.c:401
 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:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr "CHÍNH[.PHỤ]"
 
-#: src/tar.c:401
+#: src/tar.c:403
 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:403
+#: src/tar.c:405
 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:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr "TẬP TIN"
 
-#: src/tar.c:405
+#: src/tar.c:407
 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:407
+#: src/tar.c:409
 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:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr "SỐ"
 
-#: src/tar.c:409
+#: src/tar.c:411
 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, --"
@@ -1399,117 +1417,117 @@ msgstr ""
 "T ».\n"
 "Mặc định SỐ có giá trị bằng 1."
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
 msgstr "có thể tìm nơi trong kho lưu trữ"
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
-msgstr ""
+msgstr "đừng kiểm tra số thứ tự thiết bị khi tạo kho nén dần"
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
-msgstr ""
+msgstr "kiểm tra số thứ tự thiết bị khi tạo kho nén dần"
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr "Điều khiển ghi đè:"
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr "thử kiểm tra lưu trữ sau khi ghi nó"
 
-#: src/tar.c:431
+#: src/tar.c:433
 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 lưu trữ"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr "không thay thế những tập tin đã có khi giải phóng"
 
-#: src/tar.c:435
+#: src/tar.c:437
 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 lưu trữ"
 
-#: src/tar.c:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr "ghi đè lên những tập tin đã có khi giải phóng"
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr "xóa bỏ quyền ưu tiên của mỗi tập tin để giải phóng và ghi đè lên nó"
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr "xóa sạch quyền ưu tiên trong cây thư mục để giải phóng thư mục"
 
-#: src/tar.c:443
+#: src/tar.c:445
 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:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr ""
 "ghi đè lên siêu dữ liệu của những thư mục đã có khi giải phóng (mặc định)"
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr "Chọn luồng xuất:"
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
 msgstr "giải phóng tập tin ra đầu ra tiêu chuẩn"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr "CÂU LỆNH"
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
 msgstr "gửi các tập tin đã giải nén qua ống dẫn cho chương trình khác"
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr "bỏ qua mã thoát của tiến trình con"
 
-#: src/tar.c:460
+#: src/tar.c:462
 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:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr "Điều khiển thuộc tính tập tin:"
 
-#: src/tar.c:468
+#: src/tar.c:470
 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:470
+#: src/tar.c:472
 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:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr "NGÀY-CỦA-TẬP-TIN"
 
-#: src/tar.c:472
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "đặt từ DATE-OR-FILE thời gian mtime cho các tập tin đã thêm"
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr "THAY ĐỔI"
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "bắt buộc THAY ĐỔI chế độ (tượng trưng) cho những tập tin thêm vào"
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr "PHƯƠNG PHÁP"
 
-#: src/tar.c:477
+#: src/tar.c:479
 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 "
@@ -1519,29 +1537,29 @@ msgstr ""
 "thời gian sau khi đọc (PHƯƠNG PHÁP='replace'; mặc định), hoặc bằng cách "
 "không đặt thời gian như vậy (PHƯƠNG PHÁP='system')"
 
-#: src/tar.c:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr "không giải phóng thời gian sửa đổi của tập tin"
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr "thử giải phóng tập tin với cùng quyền sở hữu"
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr "giải phóng tập tin như tự bạn"
 
-#: src/tar.c:487
+#: src/tar.c:489
 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:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 "cũng giải nén thông tin về quyền truy cập tập tin (mặc định cho siêu người "
 "dùng)"
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
@@ -1549,15 +1567,15 @@ msgstr ""
 "áp dụng umask của người dùng khi giải nén quyền truy cập ra từ kho lưu trữ "
 "(mặc định cho người dùng bình thường)"
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr "sắp xếp tên để giải phóng tới lưu trữ tương ứng"
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr "giống như khi có hai tùy chọn -p và -s"
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
@@ -1565,139 +1583,139 @@ msgstr ""
 "hoãn đến kết thúc tiến trình giải nén việc đặt thời gian sửa đổi và quyền "
 "truy cập các thư mục đã giải nén"
 
-#: src/tar.c:503
+#: src/tar.c:505
 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:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr "Lựa chọn và chuyển đổi thiết bị:"
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr "LƯU TRỮ"
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr "sử dụng tập tin lưu trữ hoặc thiết bị LƯU TRỮ"
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
 msgstr "tập tin lưu trữ là nội bộ thậm chí nếu có một dấu hai chấm"
 
-#: src/tar.c:515
+#: src/tar.c:517
 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:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr "sử dụng CÂU LỆNH từ xa thay cho rsh"
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr "chỉ ra ổ và mật độ ghi dữ liệu"
 
-#: src/tar.c:535
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
 msgstr "tạo/liệt kê/giải phóng lưu trữ nhiều khối"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "thay băng ghi âm (tape) sau khi ghi nhớ SỐ X 1024 byte"
 
-#: src/tar.c:539
+#: src/tar.c:541
 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:542
+#: src/tar.c:544
 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:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr "Khối của thiết bị:"
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr "KHỐI"
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr "KHỐI X 512 byte cho mỗi bản ghi"
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "SỐ byte cho mỗi mục ghi, bội số cho 512"
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "lờ đi những khối không (zero) trong lưu trữ (có nghĩa EOF)"
 
-#: src/tar.c:556
+#: src/tar.c:558
 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:561
+#: src/tar.c:563
 msgid "Archive format selection:"
 msgstr "Lựa chọn định dạng lưu trữ:"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr "ĐỊNH DẠNG"
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
 msgstr "tạo lưư trữ với định dạng đưa ra"
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr "ĐỊNH DẠNG là một trong số sau:"
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr "định dạng tar V7 cũ"
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr "định dạng GNU theo như tar <= 1.12"
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr "định dạng tar GNU 1.13.x"
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "định dạng PoSIX 1003.1-1988 (ustar)"
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "định dạng POSIX 1003.1-2001 (pax)"
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
 msgstr "bằng pax"
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr "giống như --format=v7"
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr "giống như --format=posix"
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "từ_khoá[[:]=giá_trị][,từ_khoá[[:]=giá_trị]]..."
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr "từ khóa điều khiển pax"
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr "VĂN BẢN"
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
@@ -1705,84 +1723,98 @@ msgstr ""
 "tạo lưu trữ với tên khối tin VĂN BẢN. Tại thời điểm liệt kê/giải phóng, sử "
 "dụng VĂN BẢN làm mẫu glob cho tên khối tin"
 
-#: src/tar.c:592
+#: src/tar.c:594
 msgid "Compression options:"
 msgstr "Tùy chọn nén:"
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
 msgstr "dùng hậu tố lưu trữ để xác định chương trình nén"
 
-#: src/tar.c:596
+#: src/tar.c:598
+#, fuzzy
+msgid "do not use use archive suffix to determine the compression program"
+msgstr "dùng hậu tố lưu trữ để xác định chương trình nén"
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr "lọc lưu trữ qua bzip2"
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr "lọc lưu trữ qua gzip"
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr "lọc lưu trữ qua compress"
 
-#: src/tar.c:605
+#: src/tar.c:610
 msgid "filter the archive through lzma"
 msgstr "lọc lưu trữ qua lzma"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "lọc lưu trữ qua gzip"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr "TRÌNH"
 
-#: src/tar.c:607
+#: src/tar.c:614
 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:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr "Lựa chọn tập tin nội bộ:"
 
-#: src/tar.c:615
+#: src/tar.c:622
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 "thêm vào kho lưu trữ TẬP TIN đã cho (có ích nếu tên nó bắt đầu với dấu gạch)"
 
-#: src/tar.c:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr "THƯ MỤC"
 
-#: src/tar.c:617
+#: src/tar.c:624
 msgid "change to directory DIR"
 msgstr "thay đổi tới thư mục THƯ MỤC"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
 msgstr "lấy các tên tập tin cần giải phóng hay tạo từ TẬP TIN"
 
-#: src/tar.c:621
+#: src/tar.c:628
 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:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr "hủy trích dẫn các tên tập tin được đọc bằng « -T » (mặc định)"
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr "đừng hủy trích dẫn các tên tập tin được đọc bằng « -T »"
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "MẪU"
 
-#: src/tar.c:627
+#: src/tar.c:636
 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:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr "loại trừ những mẫu liệt kê trong TẬP TIN"
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
@@ -1790,88 +1822,88 @@ 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:634
+#: src/tar.c:643
 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:637
+#: src/tar.c:646
 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:639
+#: src/tar.c:648
 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:642
+#: src/tar.c:651
 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:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
 msgstr "loại trữ thư mục chứa TẬP TIN"
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr "trừ thư mục của hệ thống điều khiển phiên bản (v.d. « .svn »)"
 
-#: src/tar.c:648
+#: src/tar.c:657
 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:650
+#: src/tar.c:659
 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 lưu trữ"
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr "đệ quy vào các thư mục (mặc định)"
 
-#: src/tar.c:654
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
 msgstr "đừng bỏ `/' ở đầu tên tập tin"
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr "theo liên kết tượng trưng; lưu trữ và đổ tập tin tới đó nó chỉ"
 
-#: src/tar.c:658
+#: src/tar.c:667
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr "theo liên kết cứng; lưu trữ và đổ tập tin tới đó nó chỉ"
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr "TÊN-THÀNH-VIÊN"
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr "bắt đầu tại thành viên TÊN-THÀNH-VIÊN trong lưu trữ"
 
-#: src/tar.c:662
+#: src/tar.c:671
 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:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr "NGÀY"
 
-#: src/tar.c:665
+#: src/tar.c:674
 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:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr "ĐIỀU KHIỂN"
 
-#: src/tar.c:667
+#: src/tar.c:676
 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:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr "CHUỖI"
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
@@ -1879,88 +1911,88 @@ 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:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr "Chuyển dạng tên tập tin:"
 
-#: src/tar.c:676
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "bỏ đi SỐ thành phần đứng đầu ra tên tập tin khi giải nén"
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr "BIỂU THỨC"
 
-#: src/tar.c:679
+#: src/tar.c:688
 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:684
+#: src/tar.c:694
 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:687
+#: src/tar.c:697
 msgid "ignore case"
 msgstr "không phân biệt chữ hoa/thường"
 
-#: src/tar.c:689
+#: src/tar.c:699
 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:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr "mẫu tương ứng sau bất kỳ / nào (mặc định để loại trừ)"
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
 msgstr "khớp có phân biệt chữ hoa/ thường (mặc định)"
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr "dùng ký tự đại diện (mặc định để loại trừ)"
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr "khớp chuỗi nghĩa chữ"
 
-#: src/tar.c:699
+#: src/tar.c:709
 msgid "wildcards do not match `/'"
 msgstr "ký tự đại diện không tương ứng '/'"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
 msgstr "ký tự đại diện tương ứng '/' (mặc định để loại trừ)"
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr "Dữ liệu kết quả có tính thông tin:"
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr "liệt kê một cách tỉ mỉ những tập tin được tiến hành"
 
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "hiển thị thông báo về tiến triển sau mỗi mục ghi thứ SỐ (mặc định 10)"
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr "HÀNH_ĐỘNG"
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr "thực hiện HÀNH_ĐỘNG này ở mỗi điểm kiểm"
 
-#: src/tar.c:717
+#: src/tar.c:727
 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:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr "TÍN HIỆU"
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1973,27 +2005,27 @@ msgstr ""
 "SIGHUP, SIGQUIT, SIGINT, SIGUSR1, SIGUSR2;\n"
 "cũng chấp nhận tên không có tiền tố « SIG »."
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr "in ra ngày sửa đổi tập tin theo UTC"
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr "gửi kết quả chi tiết tới TẬP TIN"
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr "hiên thị số thứ tự khối trong lưu trữ với mỗi thông báo"
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr "hỏi xác nhận trước mỗi hành động"
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
 msgstr "hiển thị các giá trị mặc định của tar"
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
@@ -2001,32 +2033,32 @@ msgstr ""
 "khi liệt kê hay giải phóng, liệt kê mỗi thư mục không tương ứng với tiêu chí "
 "tìm kiếm"
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr "hiển thị các tên tập tin hay kho lưu trữ sau khi chuyển dạng"
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr "KIỂU DÁNG"
 
-#: src/tar.c:741
+#: src/tar.c:751
 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:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr "cũng trích dẫn các ký tự của CHUỖI"
 
-#: src/tar.c:745
+#: src/tar.c:755
 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:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr "Tùy chọn tương thích:"
 
-#: src/tar.c:753
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
@@ -2034,56 +2066,56 @@ msgstr ""
 "khi tạo, giống như « --old-archive »\n"
 "khi giải phóng, giống như « --no-same-owner »"
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr "Những tùy chọn khác:"
 
-#: src/tar.c:761
+#: src/tar.c:771
 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:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "Không nên chỉ ra hai tùy chọn hoặc nhiều hơn trong số `-Acdtrux'"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "Mâu thuẫn giữa các tùy chọn nén"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, c-format
 msgid "Unknown signal name: %s"
 msgstr "Không rõ tên tín hiệu : %s"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 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:997
+#: src/tar.c:1017
 #, 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:1022
+#: src/tar.c:1042
 #, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr "Tùy chọn %s: đang xử lý ngày tháng « %s » như %s"
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, c-format
 msgid "%s: file list already read"
 msgstr "%s: danh sách tập tin đã được đọc"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr "%s: đọc tên tập tin chứa ký tự vô giá trị"
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr "Các đối số thích hợp với tùy chọn « --quoting-style »:"
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2091,150 +2123,164 @@ msgstr ""
 "\n"
 "tar *này* mặc định tới:\n"
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "Nhân tố khối không đúng"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr "Cảnh báo: không hỗ trợ tùy chọn -I, có thể bạn muốn -j hay -T?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "Chiều dài băng ghi âm không đúng"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "Có nhiều ngày bắt đầu"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr "Giá trị phiên bản sparse không hợp lệ"
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr "--atime-preserve='system' không được hỗ trợ trên nền tảng này"
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr "giá trị « --checkpoint » không phải số nguyên"
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s: Nhóm không đúng"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "Đưa ra chế độ không đúng trên tùy chọn"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr "Số không đúng"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "Chủ sở hữu không đúng"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "Kích thước bản ghi không đúng"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, 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:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr "Số thứ tự của nguyên tố không đúng"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr "Cho phép chỉ một tùy chọn « --to-command »"
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
 msgstr "Tham số mật độ dạng sai: %s"
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
 msgstr "Mật độ không rõ : « %c »"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, 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:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr "[TẬP TIN]..."
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, 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:2196
+#: src/tar.c:2235
 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:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr "--occurrence không được sử dụng trong chế độ thao tác đã yêu cầu"
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 msgid "Multiple archive files require `-M' option"
 msgstr "Tập tin nhiều lưu trữ yêu cầu tùy chọn `-M'"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "Không thể kết hợp --listed-incremental với --newer"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "Không thể kiểm tra lưu trữ nhiều khối"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "Không thể kiểm tra lưu trữ đã nén"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "Không thể sử dụng lưu trữ nhiều khối đã nén"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 msgid "Cannot concatenate compressed archives"
 msgstr "Không thể ghép nối các kho nén"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option chỉ dùng được trên lưu trữ POSIX"
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "Từ chối tạo một lưu trữ trống rỗng"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 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:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "Bạn phải chỉ ra một trong các tùy chọn `-Acdtrux'"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "Lỗi thoát chậm trễ do lỗi trước"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, c-format
@@ -2242,80 +2288,80 @@ msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s: Tập tin được rút ngắn %s byte"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "Từ khóa %s không rõ hoặc chưa được thực hiện"
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "Không thể dùng mẫu (pattern) %s"
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "Không thể ghi chèn lên từ khóa %s"
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
 msgstr "Phần đầu mở rộng dạng sai: thiếu chiều dài"
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr "Chiều dài phần đầu mở rộng ở ngoại phạm vi được phép"
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "Chiều dài phần đầu mở rộng %*s ở ngoại phạm vi được phép"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
 msgstr "Phần đầu mở rộng dạng sai: thiếu khoảng trắng ở sau chiều dài"
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr "Phần đầu mở rộng bị lỗi: thiếu dấu bằng"
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
 msgstr "Phần đầu mở rộng dạng sai: thiếu dòng mới"
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr "Bỏ qua từ khoá phần đầu mở rộng không rõ « %s »"
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "Phần đầu mở rộng %s=%s ở ngoại phạm vi (%s..%s)"
 
-#: src/xheader.c:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, 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:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, 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:1328
+#: src/xheader.c:1326
 #, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr ""
 "Phần đầu mở rộng dạng sai: %s không hợp lệ: dấu giới hạn không mong đợi %c"
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, 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ẻ"
@@ -2492,98 +2538,115 @@ msgstr "Số nằm ngoài phạm vi cho phép: %s"
 msgid "Negative size: %s"
 msgstr "Kích cỡ âm: %s"
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr "stat(%s) bị lỗi"
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr "Lỗi phân tích số gần « %s »"
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, c-format
 msgid "Unknown date format"
 msgstr "Không rõ định dạng ngày tháng"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr "[ĐỐI SỐ...]"
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
 msgstr "không thể mở « %s »"
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 msgid "cannot seek"
 msgstr "không thể tìm nơi"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr "tên tập tin chứa ký tự vô giá trị"
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, 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:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr "mặt nạ không đúng (gần « %s »)"
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, c-format
 msgid "Unknown field `%s'"
 msgstr "Không rõ trường « %s »"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, c-format
 msgid "cannot set time on `%s'"
 msgstr "không thể đặt thời gian trên « %s »"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr "Lệnh đã thoát thành công\n"
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, c-format
 msgid "Command failed with status %d\n"
 msgstr "Lệnh bị lỗi với trạng thái %d\n"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, 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:815
+#: tests/genfile.c:813
 #, 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:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr "Lệnh đã đổ lõi\n"
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr "Lệnh đã chấm dứt\n"
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, c-format
 msgid "--stat requires file names"
 msgstr "--stat yêu cầu tên tập tin"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr "quá nhiều đối số"
+
+#, fuzzy
+#~ msgid "cancel effect of the previous --transform-links option"
+#~ msgstr "hủy hiệu ứng của tùy chọn « --delay-directory-restore »"
+
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "Lỗi thoát chậm trễ do lỗi trước"
index 50fa80286ca0e882fc55df4cc9ed7d713b65a2a6..e8bbcd0e2840976bbd25414091cc0cb4fedb96e3 100644 (file)
Binary files a/po/zh_CN.gmo and b/po/zh_CN.gmo differ
index f01e86697e4976ba62e836429d059d0367c45200..aa3cd56d06138e8747a6c5749dc633d05b60c523 100644 (file)
@@ -1,16 +1,19 @@
-# Chinese (simplified) translation of tar.
-# Copyright (C) 2004 Free Software Foundation, Inc.
+# Chinese (simplified) translation for tar.
+# Copyright (C) 2008 Free Software Foundation, Inc. 
+# 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.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: tar 1.14\n"
+"Project-Id-Version: tar 1.20\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
-"PO-Revision-Date: 2004-08-06 23:45+0800\n"
-"Last-Translator: Wang Li <charles@linux.net.cn>\n"
-"Language-Team: Chinese (simplified) <i18n-translation@lists.linux.net.cn>\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
+"PO-Revision-Date: 2008-06-25 12:53中国标准时间\n"
+"Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n"
+"Language-Team: Chinese (simplified) <translation-team-zh-cn@lists."
+"sourceforge.net>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8-bit\n"
@@ -24,7 +27,7 @@ msgstr "%2$s 的参数 %1$s 无效"
 #: lib/argmatch.c:134
 #, c-format
 msgid "ambiguous argument %s for %s"
-msgstr "%2$s 的参数 %1$s 具有二义性"
+msgstr "%2$s 的参数 %1$s 具有歧义"
 
 #: lib/argmatch.c:153
 #, c-format
@@ -34,113 +37,111 @@ msgstr "有效的参数为:"
 #: lib/argp-help.c:147
 #, c-format
 msgid "ARGP_HELP_FMT: %s value is less than or equal to %s"
-msgstr ""
+msgstr "ARGP_HELP_FMT: %s 的值小于或者等于 %s"
 
 #: lib/argp-help.c:220
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
-msgstr ""
+msgstr "%.*s: ARGP_HELP_FMT 参数需要一个值"
 
 #: lib/argp-help.c:226
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter must be positive"
-msgstr ""
+msgstr "%.*s: ARGP_HELP_FMT 参数值必须为正"
 
 #: lib/argp-help.c:235
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
-msgstr ""
+msgstr "%.*s: 未知的 ARGP_HELP_FMT 参数"
 
 #: lib/argp-help.c:247
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
-msgstr ""
+msgstr "ARGP_HELP_FMT 中的参数错误: %s"
 
 #: lib/argp-help.c:1246
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
-msgstr ""
+msgstr "长选项和相应短选项具有相同的强制参数或可选参数。"
 
 #: lib/argp-help.c:1639
 msgid "Usage:"
-msgstr ""
+msgstr "用法:"
 
 #: lib/argp-help.c:1643
 msgid "  or: "
-msgstr ""
+msgstr " 或: "
 
 #: lib/argp-help.c:1655
 msgid " [OPTION...]"
-msgstr ""
+msgstr " [选项...]"
 
 #: lib/argp-help.c:1682
-#, fuzzy, c-format
+#, c-format
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
-msgstr "请用“%s --help”获得更多信息。\n"
+msgstr "请用“%s --help”或“%s --usage”获得更多信息。\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
-#, fuzzy, c-format
+#: lib/argp-help.c:1710 src/tar.c:1255
+#, c-format
 msgid "Report bugs to %s.\n"
-msgstr ""
-"\n"
-"将错误报告到 <%s>。\n"
+msgstr "将错误报告发送到 %s。\n"
 
 #: lib/argp-help.c:1929 lib/error.c:125
 msgid "Unknown system error"
 msgstr "未知的系统错误"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 msgid "give this help list"
-msgstr ""
+msgstr "显示此帮助列表"
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 msgid "give a short usage message"
-msgstr ""
+msgstr "显示简短的用法说明"
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
-msgstr ""
+msgstr "名称"
 
 #: lib/argp-parse.c:83
 msgid "set the program name"
-msgstr ""
+msgstr "设置程序名"
 
 #: lib/argp-parse.c:84
 msgid "SECS"
-msgstr ""
+msgstr ""
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
-msgstr ""
+msgstr "挂起 SECS 秒(默认 3600)"
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 msgid "print program version"
-msgstr ""
+msgstr "打印程序版本"
 
 #: lib/argp-parse.c:158
 #, c-format
 msgid "(PROGRAM ERROR) No version known!?"
-msgstr ""
+msgstr "(程序错误)未知版本!?"
 
 #: lib/argp-parse.c:611
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Too many arguments\n"
-msgstr "%s:选项“%s”需要一个参数\n"
+msgstr "%s:参数太多\n"
 
 #: lib/argp-parse.c:754
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
-msgstr ""
+msgstr "(程序错误)选项可否被识别!?"
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
-msgstr ""
+msgstr "写错误"
 
 #: lib/getopt.c:526 lib/getopt.c:542
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s:选项“%s”具有二义性\n"
+msgstr "%s:选项“%s”具有歧义\n"
 
 #: lib/getopt.c:575 lib/getopt.c:579
 #, c-format
@@ -185,26 +186,26 @@ msgstr "%s:选项需要一个参数 -- %c\n"
 #: lib/getopt.c:892 lib/getopt.c:908
 #, c-format
 msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s:选项“-W %s”具有二义性\n"
+msgstr "%s:选项“-W %s”具有歧义\n"
 
 #: lib/getopt.c:932 lib/getopt.c:950
 #, c-format
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s:选项“-W %s”不接受参数\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "内存耗尽"
 
-#: lib/openat-die.c:33
-#, fuzzy, c-format
+#: lib/openat-die.c:35
+#, c-format
 msgid "unable to record current working directory"
-msgstr "无法改变工作目录"
+msgstr "无法记录当前工作目录"
 
-#: lib/openat-die.c:46
-#, fuzzy, c-format
+#: lib/openat-die.c:48
+#, c-format
 msgid "failed to return to initial working directory"
-msgstr "无法保存工作目录"
+msgstr "无法回到起始的工作目录"
 
 #. TRANSLATORS: %s after `Cannot' is a function name, e.g. `Cannot open'.
 #. Directly translating this to another language will not work, first because
@@ -240,16 +241,16 @@ msgid "%s: Cannot hard link to %s"
 msgstr "%s:无法硬连接到 %s"
 
 #: lib/paxerror.c:179 lib/paxerror.c:211
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Read error at byte %s, while reading %lu byte"
 msgid_plural "%s: Read error at byte %s, while reading %lu bytes"
-msgstr[0] "%s:在 %s 字节处发生读错误,读入 %lu 字节"
+msgstr[0] "%1$s:读入 %3$lu 字节时,在 %2$s 字节处发生读错误"
 
 #: lib/paxerror.c:192
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Warning: Read error at byte %s, while reading %lu byte"
 msgid_plural "%s: Warning: Read error at byte %s, while reading %lu bytes"
-msgstr[0] "%s:警告:在 %s 字节处发生读错误,读入 %lu 字节"
+msgstr[0] "%1$s:警告:读入 %3$lu 字节时,在 %2$s 字节处发生读错误"
 
 #: lib/paxerror.c:259
 #, c-format
@@ -317,13 +318,25 @@ msgstr "“"
 msgid "'"
 msgstr "”"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
-msgstr ""
-
-#: lib/rpmatch.c:72
+msgstr "^[yY]"
+
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
-msgstr ""
+msgstr "^[nN]"
 
 #: lib/rtapelib.c:299
 #, c-format
@@ -350,7 +363,7 @@ msgstr "无法执行远程 shell"
 #. locale.  Otherwise, do not translate "(C)"; leave it as-is.
 #: lib/version-etc.c:65
 msgid "(C)"
-msgstr ""
+msgstr "(C)"
 
 #: lib/version-etc.c:67
 msgid ""
@@ -361,24 +374,30 @@ msgid ""
 "There is NO WARRANTY, to the extent permitted by law.\n"
 "\n"
 msgstr ""
+"\n"
+"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl."
+"html>\n"
+"这是自由软件:您可以自由地更改并重新发布它。\n"
+"There is NO WARRANTY, to the extent permitted by law.\n"
+"\n"
 
 #. TRANSLATORS: %s denotes an author name.
 #: lib/version-etc.c:83
 #, c-format
 msgid "Written by %s.\n"
-msgstr ""
+msgstr "由 %s 所写。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #: lib/version-etc.c:87
 #, c-format
 msgid "Written by %s and %s.\n"
-msgstr ""
+msgstr "由 %s 和 %s 所写。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #: lib/version-etc.c:91
 #, c-format
 msgid "Written by %s, %s, and %s.\n"
-msgstr ""
+msgstr "由 %s,%s, 和 %s 所写。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -389,6 +408,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "and %s.\n"
 msgstr ""
+"由 %s,%s,%s,\n"
+"和 %s 所写。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -399,6 +420,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "%s, and %s.\n"
 msgstr ""
+"由 %s,%s,%s,\n"
+"%s,和 %s 所写。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -409,6 +432,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, and %s.\n"
 msgstr ""
+"由 %s,%s,%s,\n"
+"%s,%s,和 %s 所写。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -419,6 +444,8 @@ msgid ""
 "Written by %s, %s, %s,\n"
 "%s, %s, %s, and %s.\n"
 msgstr ""
+"由 %s,%s,%s,\n"
+"%s,%s,%s,和 %s 所写。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -430,6 +457,9 @@ msgid ""
 "%s, %s, %s, %s,\n"
 "and %s.\n"
 msgstr ""
+"由 %s,%s,%s,\n"
+"%s,%s,%s,%s,\n"
+"和 %s 所写。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -441,6 +471,9 @@ msgid ""
 "%s, %s, %s, %s,\n"
 "%s, and %s.\n"
 msgstr ""
+"由 %s,%s,%s,\n"
+"%s,%s,%s,%s,\n"
+"%s,和 %s 所写。\n"
 
 #. TRANSLATORS: Each %s denotes an author name.
 #. You can use line breaks, estimating that each author name occupies
@@ -452,14 +485,17 @@ msgid ""
 "%s, %s, %s, %s,\n"
 "%s, %s, and others.\n"
 msgstr ""
+"由 %s,%s,%s,\n"
+"%s,%s,%s,%s,\n"
+"%s,%s,和其他人所写。\n"
 
 #: rmt/rmt.c:142
 msgid "Input string too long"
-msgstr ""
+msgstr "输入字符串太长了"
 
 #: rmt/rmt.c:161
 msgid "Number syntax error"
-msgstr ""
+msgstr "编号语法错误"
 
 #: rmt/rmt.c:180
 msgid "rmtd: Cannot allocate buffer space\n"
@@ -475,7 +511,7 @@ msgid "Try `%s --help' for more information.\n"
 msgstr "请用“%s --help”获得更多信息。\n"
 
 #: rmt/rmt.c:308
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Usage: %s [OPTION]\n"
 "Manipulate a tape drive, accepting commands from a remote process.\n"
@@ -487,7 +523,7 @@ msgstr ""
 "操作磁带驱动器,接受来自远程进程的命令。\n"
 "\n"
 "  --version  输出版本信息。\n"
-"  --help  输出该求助。\n"
+"  --help  输出此帮助。\n"
 
 #: rmt/rmt.c:315
 #, c-format
@@ -499,9 +535,8 @@ msgstr ""
 "将错误报告到 <%s>。\n"
 
 #: rmt/rmt.c:397
-#, fuzzy
 msgid "Seek offset error"
-msgstr "定位操作的偏移量超出范围"
+msgstr "定位偏移量错误"
 
 #: rmt/rmt.c:406 rmt/rmt.c:547 rmt/rmt.c:557
 msgid "Seek offset out of range"
@@ -523,174 +558,178 @@ msgstr "过早的文件结尾"
 msgid "Garbage command"
 msgstr "垃圾命令"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "它似乎不像是一个 tar 归档文件"
 
-#: src/buffer.c:333 src/buffer.c:342
-#, fuzzy
+#: src/buffer.c:352 src/buffer.c:361
 msgid "Total bytes written"
-msgstr "总计写入字节数:%s (%s,%s/s)\n"
+msgstr "总计写入字节数"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
-msgstr ""
+msgstr "总计读取字节数"
 
-#: src/buffer.c:344
-#, fuzzy, c-format
+#: src/buffer.c:363
+#, c-format
 msgid "Total bytes deleted: %s\n"
-msgstr "æ\80»è®¡å\86\99å\85¥å­\97è\8a\82æ\95°ï¼\9a%s (%sï¼\8c%s/s)\n"
+msgstr "æ\80»è®¡å\88 é\99¤å­\97è\8a\82æ\95°ï¼\9a%s\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(管道)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "record_size 的无效值"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "未给出归档文件名"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "无法验证标准输入/标准输出归档文件"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
-msgstr ""
+msgstr "归档被压缩。使用 %s 选项"
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "无法更新压缩归档文件"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "处于磁带的起点,现在退出"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "错误过多,退出"
 
-#: src/buffer.c:678
-#, c-format
-msgid "Unaligned block (%lu byte) in archive"
-msgid_plural "Unaligned block (%lu bytes) in archive"
-msgstr[0] "归档中未对齐的块 (%lu 字节)s"
-
-#: src/buffer.c:698
+#: src/buffer.c:695
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "记录大小 = %lu 块"
 
-#: src/buffer.c:771
+#: src/buffer.c:716
+#, c-format
+msgid "Unaligned block (%lu byte) in archive"
+msgid_plural "Unaligned block (%lu bytes) in archive"
+msgstr[0] "归档中未对齐的块 (%lu 字节)s"
+
+#: src/buffer.c:793
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "无法倒回归档文件;如果没有 -i 可能无法读入它"
 
-#: src/buffer.c:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
-msgstr ""
+msgstr "rmtlseek 未停在记录边界处"
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s:包含无效的卷编号"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "卷编号溢出"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "为 %2$s 准备卷 #%1$d 并按回车:"
 
-#: src/buffer.c:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "需得到用户应答时文件结束"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "警告:归档文件不完整"
 
-#: src/buffer.c:934
-#, fuzzy, c-format
+#: src/buffer.c:954
+#, 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 [name]    给下一卷(以及以后的卷)取一个新文件名\n"
-" q          终止 tar\n"
-" !          另起一个子 shell\n"
-" ?          显示本列表\n"
+" n [name]\t给下一卷(及以后的卷)取一个新文件名\n"
+" q\t\t终止 tar\n"
+" y or newline\t继续操作\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
-msgstr ""
+msgstr " !             衍生出一个子 shell\n"
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
-msgstr ""
+msgstr " ?             打印此列表\n"
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "没有新的卷;退出。\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
-msgstr ""
+msgstr "未指定文件名。重试。\n"
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
-msgstr ""
+msgstr "无效输入。输入 ? 显示帮助。\n"
 
-#: src/buffer.c:1044
-#, fuzzy, c-format
+#: src/buffer.c:1064
+#, c-format
 msgid "%s command failed"
-msgstr "“%s”命令失败"
+msgstr "%s 命令失败"
 
-#: src/buffer.c:1199
-#, fuzzy, c-format
+#: src/buffer.c:1219
+#, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
-msgstr "%s 在本卷中不连续"
+msgstr "%s 在本卷可能连续: 头部包含截短的名字"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s 在本卷中不连续"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s 的大小错误 (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "此卷次序有误"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "归档未被标记为匹配 %s"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "卷标 %s 不匹配 %s"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
-msgstr ""
+msgstr "%s: 文件名太长而无法贮存在 GNU 多卷头,已被截短"
+
+#: src/buffer.c:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "rmtlseek 未停在记录边界处"
 
 #: src/compare.c:96
 #, c-format
@@ -702,8 +741,8 @@ msgstr[0] "仅能读入 %2$lu 中的 %1$lu 个字节"
 msgid "Contents differ"
 msgstr "内容不同"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "归档文件中异常的 EOF"
 
@@ -750,17 +789,17 @@ msgid "Verify "
 msgstr "校验"
 
 #: src/compare.c:469
-#, fuzzy, c-format
+#, c-format
 msgid "%s: Unknown file type `%c', diffed as normal file"
 msgstr "%s:未知的文件类型“%c”,与普通文件不同"
 
 #: src/compare.c:524
 msgid "Archive contains file names with leading prefixes removed."
-msgstr ""
+msgstr "归档包含带有被移除前导字符的文件名。"
 
 #: src/compare.c:526
 msgid "Verification may fail to locate original files."
-msgstr ""
+msgstr "位于原始文件中的验证可能失败。"
 
 #: src/compare.c:596
 #, c-format
@@ -776,7 +815,7 @@ msgstr "在 %s 处一个单独的零块"
 #: src/create.c:67
 #, c-format
 msgid "%s: contains a cache directory tag %s; %s"
-msgstr ""
+msgstr "%s: 包含一个缓存目录标识 %s;%s"
 
 #: src/create.c:272
 #, c-format
@@ -818,9 +857,9 @@ msgstr[0] "%s:文件缩小 %s 字节;用零填充"
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s:文件在不同的文件系统上;未输出"
 
-#: src/create.c:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
-msgstr ""
+msgstr "未输出内容"
 
 #: src/create.c:1361
 #, c-format
@@ -828,9 +867,9 @@ msgid "%s: Unknown file type; file ignored"
 msgstr "%s:未知的文件类型;忽略文件"
 
 #: src/create.c:1464
-#, fuzzy, c-format
+#, c-format
 msgid "Missing links to %s.\n"
-msgstr "缺少到“%s”的连接。\n"
+msgstr "缺少到 %s 的连接。\n"
 
 #: src/create.c:1535
 #, c-format
@@ -847,9 +886,9 @@ msgstr "%s:文件是归档文件;未输出"
 msgid "%s: File removed before we read it"
 msgstr "%s:文件在我们读入之前被删除了"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 msgid "directory not dumped"
-msgstr ""
+msgstr "未输出目录"
 
 #: src/create.c:1659
 #, c-format
@@ -864,7 +903,7 @@ msgstr "%s:忽略套接字(socket)"
 #: src/create.c:1744
 #, c-format
 msgid "%s: door ignored"
-msgstr ""
+msgstr "%s: 忽略权限"
 
 #: src/delete.c:216 src/list.c:181 src/update.c:170
 msgid "Skipping to next header"
@@ -880,9 +919,9 @@ msgid "%s: implausibly old time stamp %s"
 msgstr "%s:不可信的旧时间戳 %s"
 
 #: src/extract.c:215
-#, fuzzy, c-format
+#, c-format
 msgid "%s: time stamp %s is %s s in the future"
-msgstr "%s:时间戳 %s 是将来的 %lu 秒之后"
+msgstr "%s:时间戳 %s 是未来的 %s 秒之后"
 
 #: src/extract.c:395
 #, c-format
@@ -898,168 +937,166 @@ msgstr "%s:目录名在状态信息被获取之前改变了"
 msgid "Extracting contiguous files as regular files"
 msgstr "展开紧邻的文件为普通文件"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "正试图将符号连接展开为硬连接"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "正在读入 %s\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s:无法展开 -- 文件一直持续到另一卷中"
 
-#: src/extract.c:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 #, fuzzy
 msgid "Unexpected long name header"
-msgstr "转换的文件名中有异常的 EOF"
+msgstr "异常的长名字头部"
 
-#: src/extract.c:1159
-#, fuzzy, c-format
+#: src/extract.c:1156
+#, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
-msgstr "%s:未知的文件类型“%c”,作为普通文件进行展开"
+msgstr "%s:未知的文件类型“%c”,作为普通文件展开"
 
-#: src/extract.c:1184
-#, fuzzy, c-format
+#: src/extract.c:1181
+#, c-format
 msgid "Current %s is newer or same age"
-msgstr "当前的“%s”更新"
+msgstr "当前的“%s”更新或一样新"
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s:无法备份该文件"
 
-#: src/extract.c:1358
-#, fuzzy, c-format
+#: src/extract.c:1355
+#, c-format
 msgid "Cannot rename %s to %s"
-msgstr "%s:无法重命名为 %s"
+msgstr "无法将 %s 重命名为 %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "错误不可恢复:现在退出"
 
-#: src/incremen.c:390 src/incremen.c:430
-#, fuzzy, c-format
+#: src/incremen.c:445 src/incremen.c:489
+#, c-format
 msgid "%s: Directory has been renamed from %s"
-msgstr "%s:目录已被改名"
+msgstr "%s:目录已改名,不再是 %s"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s:目录已被改名"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s:目录是新的"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "无效的时间戳"
 
-#: src/incremen.c:889
-#, fuzzy
+#: src/incremen.c:949
 msgid "Invalid modification time (seconds)"
-msgstr "选项中给出无效的访问模式"
+msgstr "无效的修改时间(秒)"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
-msgstr ""
+msgstr "无效的修改时间(纳秒)"
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "无效的设备号"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "无效的 inode 号"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
-msgstr ""
+msgstr "读取目录文件时字段太长"
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
-msgstr ""
+msgstr "目录文件读取错误"
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
-#, fuzzy
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 msgid "Unexpected EOF in snapshot file"
-msgstr "归档文件中异常的 EOF"
+msgstr "目录文件中异常的文件结尾(EOF)"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
-msgstr ""
+msgstr "目录文件中异常的字段值"
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
-msgstr ""
+msgstr "缺少记录终止符"
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
-msgstr ""
+msgstr "文件格式错误增量"
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
-msgstr ""
+msgstr "不支持增量格式版本: %<PRIuMAX>"
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
-msgstr ""
+msgstr "错误的 dumpdir: 需要“%c”但实际为 %#3o"
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
-msgstr ""
+msgstr "错误的 dumpdir: 重复的“X”"
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 msgid "Malformed dumpdir: empty name in 'R'"
-msgstr ""
+msgstr "错误的 dumpdir: “R”中有空名字"
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
-msgstr ""
+msgstr "错误的 dumpdir: “R”后未紧接着用“T”"
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 msgid "Malformed dumpdir: empty name in 'T'"
-msgstr ""
+msgstr "错误的 dumpdir: “T”中有空名字"
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
-msgstr ""
+msgstr "错误的 dumpdir: 需要“%c”但实际为数据结尾"
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
-msgstr ""
+msgstr "错误的 dumpdir: 从未用过“X”"
 
-#: src/incremen.c:1481
-#, fuzzy, c-format
+#: src/incremen.c:1541
+#, c-format
 msgid "Cannot create temporary directory using template %s"
-msgstr "无法为块因子(blocking factor) %d 分配内存"
+msgstr "无法通过模板 %s 创建临时目录"
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr ""
 
-#: src/incremen.c:1556
-#, fuzzy, c-format
+#: src/incremen.c:1616
+#, c-format
 msgid "%s: directory is on a different device: not purging"
-msgstr "%s:文件在不同的文件系统上;未输出"
+msgstr "%s: 目录在不同的设备上: 未清除"
 
-#: src/incremen.c:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s:正在删除 %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s:无法删除"
@@ -1079,86 +1116,86 @@ msgstr "块 %s:** 空块 **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "块 %s:** 文件结束 **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "块 %s:"
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, c-format
 msgid "Archive octal value %.*s is out of %s range; assuming two's complement"
-msgstr "归档的八进制值 %.*s 超出范围 %s;假定为其二进制补"
+msgstr "归档的八进制值 %.*s 超出范围 %s;假定为其二进制补"
 
 #. TRANSLATORS: Second %s is a type name (gid_t,uid_t,etc.)
-#: src/list.c:728
+#: src/list.c:737
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "归档八进制值 %.*s 超出 %s 的范围"
 
-#: src/list.c:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "归档包含过时的 base-64 头"
 
-#: src/list.c:763
+#: src/list.c:772
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "归档签署的 base-64 字符串 %s 超出范围 %s"
 
-#: src/list.c:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, c-format
 msgid "Archive contains %.*s where numeric %s value expected"
-msgstr ""
+msgstr "归档包含 %.*s 而需要数字值 %s"
 
 #. TRANSLATORS: Second %s is type name (gid_t,uid_t,etc.)
-#: src/list.c:845
-#, fuzzy, c-format
+#: src/list.c:854
+#, c-format
 msgid "Archive value %s is out of %s range %s..%s"
-msgstr "归档值 %s 超出 %s 的范围 %s.%s"
+msgstr "归档值 %s 超出 %s 的范围 %s..%s"
 
-#: src/list.c:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " 连接到 %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr " 未知的文件类型 %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--长连接--\n"
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--长名--\n"
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--卷头--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "--从 %s 字节继续--\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "正在创建目录:"
 
@@ -1195,24 +1232,24 @@ msgstr "进程内通道"
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
-msgstr ""
+msgstr "请在文件名中使用匹配字符模式。"
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
-msgstr ""
+msgstr "使用 --wildcards 打开模式匹配,或是 --no-wildcards 来关闭之"
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
-msgstr ""
+msgstr "不显示此警告。"
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s:归档中找不到"
 
-#: src/names.c:621
+#: src/names.c:615
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s:没有在归档中找到需要的"
@@ -1235,10 +1272,9 @@ msgstr "在不兼容的归档格式上需要 GNU 特征"
 #, c-format
 msgid ""
 "Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
-msgstr ""
+msgstr "未知的引用形式‘%s’。尝试用‘%s --quoting-style=help’获取列表。"
 
-#: src/tar.c:334
-#, fuzzy
+#: src/tar.c:336
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
 "can restore individual files from the archive.\n"
@@ -1248,17 +1284,17 @@ msgid ""
 "  tar -tvf archive.tar         # List all files in archive.tar verbosely.\n"
 "  tar -xf archive.tar          # Extract all files from archive.tar.\n"
 msgstr ""
+" GNU ‘tar’ 将许多文件一起保存至一个单独的磁带或磁盘归档,并能从归档中单独还原"
+"所需文件。\n"
 "\n"
-"用法:%s [选项]... [文件]...\n"
-"\n"
-"示例:\n"
-"  %s -cf archive.tar foo bar  # 从文件 foo 和 bar 创建归档文件 archive."
+"示例\n"
+"  tar -cf archive.tar foo bar  # 从文件 foo 和 bar 创建归档文件 archive."
 "tar。\n"
-"  %s -tvf archive.tar         # 详细列举归档文件 archive.tar 中的所有文件。\n"
-"  %s -xf archive.tar          # 展开归档文件 archive.tar 中的所有文件。\n"
+"  tar -tvf archive.tar         # 详细列举归档文件 archive.tar 中的所有文"
+"件。\n"
+"  tar -xf archive.tar          # 展开归档文件 archive.tar 中的所有文件。\n"
 
-#: src/tar.c:343
-#, fuzzy
+#: src/tar.c:345
 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 "
@@ -1269,924 +1305,947 @@ msgid ""
 "  nil, existing   numbered if numbered backups exist, simple otherwise\n"
 "  never, simple   always make simple backups\n"
 msgstr ""
-"\n"
 "除非以 --suffix 或 SIMPLE_BACKUP_SUFFIX 设置备份后缀,否则备份后缀就是“~”。\n"
 "可以用 --backup 或 VERSION_CONTROL 设置版本控制,可能的值为:\n"
 "\n"
+"  none, off\t   从不做备份\n"
 "  t, numbered     进行编号备份\n"
 "  nil, existing   如果编号备份存在则进行编号备份,否则进行简单备份\n"
 "  never, simple   总是使用简单备份\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
-msgstr ""
+msgstr "主操作模式:"
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
-msgstr ""
+msgstr "列出归档内容"
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
-msgstr ""
+msgstr "从归档中解出文件"
 
-#: src/tar.c:377
-#, fuzzy
+#: src/tar.c:379
 msgid "create a new archive"
-msgstr "å½\92æ¡£æ\96\87件中å¼\82常ç\9a\84 EOF"
+msgstr "å\88\9b建ä¸\80个æ\96°å½\92æ¡£"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
-msgstr ""
+msgstr "找出归档和文件系统的差异"
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
-msgstr ""
+msgstr "追加文件至归档结尾"
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
-msgstr ""
+msgstr "仅追加比归档中副本更新的文件"
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
-msgstr ""
+msgstr "追加 tar 文件至归档"
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
-msgstr ""
+msgstr "从归档(非磁带!)中删除"
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
-msgstr ""
+msgstr "测试归档卷标并退出"
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
-msgstr ""
+msgstr "操作修饰符:"
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
-msgstr ""
+msgstr "高效处理离散文件"
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
-msgstr ""
+msgstr "MAJOR[.MINOR]"
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
-msgstr ""
+msgstr "设置所用的离散格式版本(隐含 --sparse)"
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
-msgstr ""
+msgstr "处理老式的 GNU 格式的增量备份"
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
-msgstr ""
+msgstr "文件"
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
-msgstr ""
+msgstr "处理新式的 GNU 格式的增量备份"
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
-msgstr ""
+msgstr "当遇上不可读文件时不要以非零值退出"
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
-msgstr ""
+msgstr "NUMBER"
 
-#: src/tar.c:409
+#: src/tar.c:411
 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 ""
+"仅处理归档中每个文件的第 NUMBER 个事件;仅当与以下子命令 --delete, --diff, --"
+"extract 或是 --list 中的一个联合使用时,此选项才有效。而且不管文件列表是以命"
+"令行形式给出或是通过 -T 选项指定的;NUMBER 值默认为 1"
 
-#: src/tar.c:415
+#: src/tar.c:417
 msgid "archive is seekable"
-msgstr ""
+msgstr "归档可检索"
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
-msgstr ""
+msgstr "当创建增量归档时不要检查设备号"
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
-msgstr ""
+msgstr "当创建增量归档时检查设备号(默认)"
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
-msgstr ""
+msgstr "重写控制:"
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
-msgstr ""
+msgstr "在写入以后尝试校验归档"
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
-msgstr ""
+msgstr "在添加文件至归档后删除它们"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
-msgstr ""
+msgstr "解压时不要替换存在的文件"
 
-#: src/tar.c:435
+#: src/tar.c:437
 msgid "don't replace existing files that are newer than their archive copies"
-msgstr ""
+msgstr "不要替换比归档中副本更新的已存在的文件"
 
-#: src/tar.c:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
-msgstr ""
+msgstr "解压时重写存在的文件"
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
-msgstr ""
+msgstr "在解压要重写的文件之前先删除它们"
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
-msgstr ""
+msgstr "解压目录之前先清除目录层次"
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
-msgstr ""
+msgstr "保留已存在目录的元数据"
 
-#: src/tar.c:445
+#: src/tar.c:447
 msgid "overwrite metadata of existing directories when extracting (default)"
-msgstr ""
+msgstr "解压时重写已存在目录的元数据(默认)"
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
-msgstr ""
+msgstr "选择输出流:"
 
-#: src/tar.c:454
-#, fuzzy
+#: src/tar.c:456
 msgid "extract files to standard output"
-msgstr "写入标准输出时出错"
+msgstr "解压文件至标准输出"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
-msgstr ""
+msgstr "COMMAND"
 
-#: src/tar.c:456
+#: src/tar.c:458
 msgid "pipe extracted files to another program"
-msgstr ""
+msgstr "将解压的文件通过管道传送至另一个程序"
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
-msgstr ""
+msgstr "忽略子进程的退出代码"
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
-msgstr ""
+msgstr "将子进程的非零退出代码认为发生错误"
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
-msgstr ""
+msgstr "操作文件属性:"
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
-msgstr ""
+msgstr "强制将 NAME 作为所添加的文件的所有者"
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
-msgstr ""
+msgstr "强制将 NAME 作为所添加的文件的组所有者"
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
-msgstr ""
+msgstr "DATE-OR-FILE"
 
-#: src/tar.c:472
+#: src/tar.c:474
 msgid "set mtime for added files from DATE-OR-FILE"
-msgstr ""
+msgstr "从 DATE-OR-FILE 中为添加的文件设置 mtime"
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
-msgstr ""
+msgstr "CHANGES"
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
-msgstr ""
+msgstr "强制将所添加的文件(符号)更改为权限 CHANGES"
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
-msgstr ""
+msgstr "METHOD"
 
-#: src/tar.c:477
+#: src/tar.c:479
 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 ""
+"在输出的文件上保留访问时间,要么通过在读取(默认 METHOD=‘replace’)后还原时间,"
+"要不就不要在第一次(METHOD=‘system’)设置时间"
 
-#: src/tar.c:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
-msgstr ""
+msgstr "不要解压文件的修改时间"
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
-msgstr ""
+msgstr "尝试解压时保持所有者关系一致"
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
-msgstr ""
+msgstr "将文件解压为您所有"
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
-msgstr ""
+msgstr "总是以数字代表用户/组的名称"
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
-msgstr ""
+msgstr "解压文件权限信息(默认只为超级用户服务)"
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
-msgstr ""
+msgstr "从归档中解压权限时使用用户的掩码位(默认为普通用户服务)"
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
-msgstr ""
+msgstr "为解压至匹配归档排序名称"
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
-msgstr ""
+msgstr "与 -p 和 -s 一样"
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
-msgstr ""
+msgstr "直到解压结束才设置修改时间和所解目录的权限"
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
-msgstr ""
+msgstr "取消 --delay-directory-restore 选项的效果"
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
-msgstr ""
+msgstr "设备选择和切换:"
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
-msgstr ""
+msgstr "ARCHIVE"
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
-msgstr ""
+msgstr "使用归档文件或 ARCHIVE 设备"
 
-#: src/tar.c:513
+#: src/tar.c:515
 msgid "archive file is local even if it has a colon"
-msgstr ""
+msgstr "即使归档文件存在副本还是把它认为是本地归档"
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
-msgstr ""
+msgstr "使用指定的 rmt COMMAND 代替 rmt"
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
-msgstr ""
+msgstr "使用远程 COMMAND 代替 rsh"
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
-msgstr ""
+msgstr "指定驱动器和压缩率"
 
-#: src/tar.c:535
-#, fuzzy
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
-msgstr "无法检验多卷归档文件"
+msgstr "创建/列出/解压多卷归档文件"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
-msgstr ""
+msgstr "写入 NUMBER × 1024 字节后更换磁带"
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
-msgstr ""
+msgstr "在每卷磁带最后运行脚本(隐含 -M)"
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
-msgstr ""
+msgstr "使用/更新 FILE 中的卷数"
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
-msgstr ""
+msgstr "设备分块:"
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
-msgstr ""
+msgstr "BLOCKS"
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
-msgstr ""
+msgstr "每个记录 BLOCKS x 512 字节"
 
-#: src/tar.c:552
+#: src/tar.c:554
 msgid "NUMBER of bytes per record, multiple of 512"
-msgstr ""
+msgstr "每个记录的字节数 NUMBER,乘以 512"
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
-msgstr ""
+msgstr "忽略归档中的零字节块(即文件结尾)"
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
-msgstr ""
+msgstr "读取时重新分块(只对 4.2BSD 管道有效)"
 
-#: src/tar.c:561
+#: src/tar.c:563
 msgid "Archive format selection:"
-msgstr ""
+msgstr "选择归档格式:"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
-msgstr ""
+msgstr "FORMAT"
 
-#: src/tar.c:564
+#: src/tar.c:566
 msgid "create archive of the given format"
-msgstr ""
+msgstr "创建指定格式的归档"
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
-msgstr ""
+msgstr "FORMAT 是以下格式中的一种:"
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
-msgstr ""
+msgstr "old V7 tar 格式"
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
-msgstr ""
+msgstr "GNU 格式 as per tar <= 1.12"
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
-msgstr ""
+msgstr "GNU tar 1.13.x 格式"
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
-msgstr ""
+msgstr "POSIX 1003.1-1988 (ustar) 格式"
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
-msgstr ""
+msgstr "POSIX 1003.1-2001 (pax) 格式"
 
-#: src/tar.c:577
+#: src/tar.c:579
 msgid "same as pax"
-msgstr ""
+msgstr "等同于 pax"
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
-msgstr ""
+msgstr "等同于 --format=v7"
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
-msgstr ""
+msgstr "等同于 --format=posix"
 
-#: src/tar.c:584
+#: src/tar.c:586
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
-msgstr ""
+msgstr "关键字[[:]=值][,关键字[[:]=值]]..."
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
-msgstr ""
+msgstr "控制 pax 关键字"
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
-msgstr ""
+msgstr "TEXT"
 
-#: src/tar.c:587
+#: src/tar.c:589
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
 "globbing pattern for volume name"
-msgstr ""
-
-#: src/tar.c:592
-#, fuzzy
-msgid "Compression options:"
-msgstr "冲突的压缩选项"
+msgstr "创建带有卷名 TEXT 的归档;在列出/解压时,使用 TEXT 作为卷名的模式串"
 
 #: src/tar.c:594
-msgid "use archive suffix to determine the compression program"
-msgstr ""
+msgid "Compression options:"
+msgstr "压缩选项:"
 
 #: src/tar.c:596
-msgid "filter the archive through bzip2"
-msgstr ""
+msgid "use archive suffix to determine the compression program"
+msgstr "使用归档后缀来决定压缩程序"
 
 #: src/tar.c:598
 #, fuzzy
+msgid "do not use use archive suffix to determine the compression program"
+msgstr "使用归档后缀来决定压缩程序"
+
+#: src/tar.c:601
+msgid "filter the archive through bzip2"
+msgstr "通过 bzip2 过滤归档"
+
+#: src/tar.c:603
 msgid "filter the archive through gzip"
-msgstr "%s:文件是归档文件;未输出"
+msgstr "通过 gzip 过滤归档"
 
-#: src/tar.c:602
-#, fuzzy
+#: src/tar.c:607
 msgid "filter the archive through compress"
-msgstr "%s:文件是归档文件;未输出"
+msgstr "通过 compress 过滤归档"
 
-#: src/tar.c:605
-#, fuzzy
+#: src/tar.c:610
 msgid "filter the archive through lzma"
-msgstr "%s:文件是归档文件;未输出"
+msgstr "通过 lzma 过滤归档"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "通过 gzip 过滤归档"
+
+#: src/tar.c:613
 msgid "PROG"
-msgstr ""
+msgstr "PROG"
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
-msgstr ""
+msgstr "通过 PROG 过滤(必须是能接受 -d 选项的程序)"
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
-msgstr ""
+msgstr "本地文件选择:"
 
-#: src/tar.c:615
+#: src/tar.c:622
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
-msgstr ""
+msgstr "添加指定的 FILE 至归档(如果名字以 - 开始会很有用的)"
 
-#: src/tar.c:616
+#: src/tar.c:623
 msgid "DIR"
-msgstr ""
+msgstr "DIR"
 
-#: src/tar.c:617
-#, fuzzy
+#: src/tar.c:624
 msgid "change to directory DIR"
-msgstr "æ\97 æ³\95æ\94¹å\8f\98å·¥ä½\9cç\9b®å½\95"
+msgstr "æ\94¹å\8f\98è\87³ç\9b®å½\95 DIR"
 
-#: src/tar.c:619
+#: src/tar.c:626
 msgid "get names to extract or create from FILE"
-msgstr ""
+msgstr "从 FILE 中获取文件名来解压或创建文件"
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
+msgstr "-T 读取以空终止的名字,禁用 -C"
+
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
 msgstr ""
 
-#: src/tar.c:623
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
-msgstr ""
+msgstr "结束以 -T 读取的文件名(默认)"
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
-msgstr ""
+msgstr "不要结束以 -T 读取的文件名"
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
-msgstr ""
+msgstr "PATTERN"
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
-msgstr ""
+msgstr "排除以 PATTERN 指定的文件"
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
-msgstr ""
+msgstr "排除 FILE 中列出的模式串"
 
-#: src/tar.c:631
+#: src/tar.c:640
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
-msgstr ""
+msgstr "除标识文件本身外,排除包含 CACHEDIR.TAG 的目录中的内容"
 
-#: src/tar.c:634
+#: src/tar.c:643
 msgid "exclude everything under directories containing CACHEDIR.TAG"
-msgstr ""
+msgstr "排除包含 CACHEDIR.TAG 的目录中所有内容"
 
-#: src/tar.c:637
+#: src/tar.c:646
 msgid "exclude directories containing CACHEDIR.TAG"
-msgstr ""
+msgstr "排除包含 CACHEDIR.TAG 的目录"
 
-#: src/tar.c:639
+#: src/tar.c:648
 msgid "exclude contents of directories containing FILE, except for FILE itself"
-msgstr ""
+msgstr "除 FILE 自身外,排除包含 FILE 的目录中的内容"
 
-#: src/tar.c:642
+#: src/tar.c:651
 msgid "exclude everything under directories containing FILE"
-msgstr ""
+msgstr "排除包含 FILE 的目录中的所有内容"
 
-#: src/tar.c:644
+#: src/tar.c:653
 msgid "exclude directories containing FILE"
-msgstr ""
+msgstr "排除包含 FILE 的目录"
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
-msgstr ""
+msgstr "排除版本控制系统目录"
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
-msgstr ""
+msgstr "避免目录中的自动降级"
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
-msgstr ""
+msgstr "创建归档时保存在本地文件系统中"
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
-msgstr ""
+msgstr "目录递归(默认)"
 
-#: src/tar.c:654
-#, fuzzy
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
-msgstr "ä»\8eæ\88\90å\91\98å\90\8d中å\88 é\99¤å¼\80头ç\9a\84â\80\9c%sâ\80\9d"
+msgstr "ä¸\8dè¦\81ä»\8eæ\96\87件å\90\8d中æ¸\85é\99¤å¼\95导符â\80\98\80\99"
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
-msgstr ""
+msgstr "跟踪符号链接;将它们所指向的文件归档并输出"
 
-#: src/tar.c:658
+#: src/tar.c:667
 msgid "follow hard links; archive and dump the files they refer to"
-msgstr ""
+msgstr "跟踪硬链接;将它们所指向的文件归档并输出"
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
-msgstr ""
+msgstr "MEMBER-NAME"
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
-msgstr ""
+msgstr "从归档中的 MEMBER-NAME 成员处开始"
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
-msgstr ""
+msgstr "只保存比 DATE-OR-FILE 更新的文件"
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
-msgstr ""
+msgstr "DATE"
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
-msgstr ""
+msgstr "当只有数据改变时比较数据和时间"
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
-msgstr ""
+msgstr "CONTROL"
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
-msgstr ""
+msgstr "在删除前备份,选择 CONTROL 版本"
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
-msgstr ""
+msgstr "STRING"
 
-#: src/tar.c:669
+#: src/tar.c:678
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
 "environment variable SIMPLE_BACKUP_SUFFIX)"
 msgstr ""
+"在删除前备份,除非被环境变量 SIMPLE_BACKUP_SUFFIX 覆盖,否则覆盖常用后缀(‘’)"
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
-msgstr ""
+msgstr "文件名变换:"
 
-#: src/tar.c:676
+#: src/tar.c:685
 msgid "strip NUMBER leading components from file names on extraction"
-msgstr ""
+msgstr "解压时从文件名中清除 NUMBER 个引导部分"
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
-msgstr ""
+msgstr "EXPRESSION"
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
-msgstr ""
+msgstr "使用 sed 代替 EXPRESSION 来进行文件名变换"
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
-msgstr ""
+msgstr "文件名匹配选项(同时影响排除和包括模式串):"
 
-#: src/tar.c:687
+#: src/tar.c:697
 msgid "ignore case"
-msgstr ""
+msgstr "忽略大小写"
 
-#: src/tar.c:689
+#: src/tar.c:699
 msgid "patterns match file name start"
-msgstr ""
+msgstr "模式串匹配文件名头部"
 
-#: src/tar.c:691
+#: src/tar.c:701
 msgid "patterns match after any `/' (default for exclusion)"
-msgstr ""
+msgstr "模式串匹配任意‘/’后字符(默认对 exclusion 有效)"
 
-#: src/tar.c:693
+#: src/tar.c:703
 msgid "case sensitive matching (default)"
-msgstr ""
+msgstr "匹配大小写(默认)"
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
-msgstr ""
+msgstr "使用通配符(默认对 exclusion )"
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
-msgstr ""
+msgstr "逐字匹配字符串"
 
-#: src/tar.c:699
-#, fuzzy
+#: src/tar.c:709
 msgid "wildcards do not match `/'"
-msgstr "卷标 %s 不匹配 %s"
+msgstr "通配符不匹配‘/’"
 
-#: src/tar.c:701
+#: src/tar.c:711
 msgid "wildcards match `/' (default for exclusion)"
-msgstr ""
+msgstr "通配符匹配‘/’(默认对排除操作有效)"
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
-msgstr ""
+msgstr "提示性输出:"
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
-msgstr ""
+msgstr "详细地列出处理的文件"
 
-#: src/tar.c:711
+#: src/tar.c:721
 msgid "display progress messages every NUMBERth record (default 10)"
-msgstr ""
+msgstr "每隔 NUMBER 个记录显示进度信息(默认为 10 个)"
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
-msgstr ""
+msgstr "ACTION"
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
-msgstr ""
+msgstr "在每个检查点上执行 ACTION"
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
-msgstr ""
+msgstr "只要不是所有链接都被输出就打印信息"
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
-msgstr ""
+msgstr "SIGNAL"
 
-#: src/tar.c:719
+#: src/tar.c:729
 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 ""
+"处理归档后打印出总字节数;当此 SIGNAL 被触发时带参数 - 打印总字节数;允许的信"
+"号为: SIGHUP,SIGQUIT,SIGINT,SIGUSR1 和 SIGUSR2;同时也接受不带 SIG 前缀的"
+"信号名称"
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
-msgstr ""
+msgstr "以 UTC 格式打印文件修改信息"
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
-msgstr ""
+msgstr "将详细输出发送至 FILE"
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
-msgstr ""
+msgstr "每个信息都显示归档内的块数"
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
-msgstr ""
+msgstr "每次操作都要求确认"
 
-#: src/tar.c:733
+#: src/tar.c:743
 msgid "show tar defaults"
-msgstr ""
+msgstr "显示 tar 默认选项"
 
-#: src/tar.c:735
+#: src/tar.c:745
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
-msgstr ""
+msgstr "列表或解压时,列出每个不匹配查找标准的目录"
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
-msgstr ""
+msgstr "显示变换后的文件名或归档名"
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
-msgstr ""
+msgstr "STYLE"
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
-msgstr ""
+msgstr "设置名称引用风格;有效的 STYLE 值请参阅以下说明"
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
-msgstr ""
+msgstr "来自 STRING 的额外的引用字符"
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
-msgstr ""
+msgstr "禁用来自 STRING 的字符引用"
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
-msgstr ""
+msgstr "兼容性选项:"
 
-#: src/tar.c:753
-#, fuzzy
+#: src/tar.c:763
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
-msgstr ""
-"\n"
-"兼容性选项:\n"
-"  -o                                 创建归档时,相当于 --old-archive\n"
-"                                     展开归档时,相当于 --no-same-owner\n"
+msgstr "创建归档时,相当于 --old-archive;展开归档时,相当于 --no-same-owner"
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
-msgstr ""
+msgstr "其它选项:"
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
-msgstr ""
+msgstr "禁用某些潜在的有危险的选项"
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
-msgstr "您不能在“-Acdtrux”中指定多个选项"
+msgstr "您不能指定除“-Acdtrux”外的选项"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
-msgstr "å\86²çª\81ç\9a\84å\8e\8b缩é\80\89项"
+msgstr "å\8e\8b缩é\80\89项å\86²çª\81"
 
-#: src/tar.c:965
-#, fuzzy, c-format
+#: src/tar.c:985
+#, c-format
 msgid "Unknown signal name: %s"
-msgstr " 未知的文件类型 %s\n"
+msgstr " 未知的信号名称: %s"
 
-#: src/tar.c:989
-#, fuzzy
+#: src/tar.c:1009
 msgid "Date sample file not found"
-msgstr "找不到数据文件"
+msgstr "æ\89¾ä¸\8då\88°æ\95°æ\8d®æ ·æ\9d¿æ\96\87件"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "把未知的时间格式 %2$s 替换为 %1$s"
 
-#: src/tar.c:1022
-#, fuzzy, c-format
+#: src/tar.c:1042
+#, c-format
 msgid "Option %s: Treating date `%s' as %s"
-msgstr "把时间 `%s' 当作 %s + %ld 纳秒"
+msgstr "选项 %s: 将日期 ‘%s’ 当作 %s"
 
-#: src/tar.c:1096
-#, fuzzy, c-format
+#: src/tar.c:1119
+#, c-format
 msgid "%s: file list already read"
-msgstr "%s:文件是归档文件;未输出"
+msgstr "%s: 文件列表已经读取"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
-msgstr ""
+msgstr "%s: 读取的文件名含有空字符"
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
-msgstr ""
+msgstr "--quoting-style 选项的有效参数为:"
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
 msgstr ""
+"\n"
+"此 tar 默认为:\n"
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 #, fuzzy
 msgid "Invalid blocking factor"
 msgstr "无效的块因子"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr "警告:不支持 -I 选项,或许您的意思是 -j 或者 -T ?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "无效的磁带长度"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "多于一个时间阈值"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
+#, fuzzy
 msgid "Invalid sparse version value"
-msgstr ""
+msgstr "无效的离散版本值"
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
-msgstr ""
+msgstr "此平台不支持 --atime-preserve=‘system’ "
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
-msgstr ""
+msgstr "--checkpoint 值不是个整数"
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s:无效的组"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "选项中给出无效的访问模式"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr "无效的数字"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "无效的所有者"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "无效的记录大小"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "记录大小必须是 %d 的倍数。"
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr "无效的元素数"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
-msgstr ""
+msgstr "仅允许使用一个 --to-command 选项"
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, c-format
 msgid "Malformed density argument: %s"
-msgstr ""
+msgstr "错误的压缩参数: %s"
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, c-format
 msgid "Unknown density: `%c'"
-msgstr ""
+msgstr "未知的压缩参数: ‘%c’"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, c-format
 msgid "Options `-[0-7][lmh]' not supported by *this* tar"
 msgstr "本 tar 不支持选项“-[0-7][lmh]”"
 
-#: src/tar.c:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
-msgstr ""
+msgstr "[FILE]..."
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "旧选项“%c”需要参数。"
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr "没有一个文件列表时 --occurrence 是没有意义的"
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr "--occurrence 不能用于请求的操作模式中"
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 msgid "Multiple archive files require `-M' option"
 msgstr "多个归档文件需要使用“-M”选项"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "无法在使用 --newer 的时候使用 --listed-incremental"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "无法检验多卷归档文件"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "无法检验压缩归档文件"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "无法使用多卷压缩归档文件"
 
-#: src/tar.c:2281
-#, fuzzy
+#: src/tar.c:2320
 msgid "Cannot concatenate compressed archives"
-msgstr "无法更新压缩归档文件"
+msgstr "无法联结压缩归档文件"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option 只能用于 POSIX 归档中"
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "谨慎地拒绝创建空归档文件"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "选项“-Aru”与“-f -”不兼容"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "您必须从选项“-Acdtrux”中指定一个"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "由于前面延迟的错误而退出"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, c-format
@@ -2194,338 +2253,355 @@ msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s:文件缩小 %s 字节"
 
-#: src/xheader.c:158
-#, fuzzy, c-format
+#: src/xheader.c:156
+#, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "关键字 %s 未知或还未实现"
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "不能使用模式 %s"
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "不能覆盖关键字 %s"
 
-#: src/xheader.c:498
-#, fuzzy
+#: src/xheader.c:496
 msgid "Malformed extended header: missing length"
-msgstr "错误的扩展头:缺少等于符号"
+msgstr "错误的扩展头: 缺少 length"
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
-msgstr ""
+msgstr "扩展头长度超出所允许的范围"
 
-#: src/xheader.c:513
-#, fuzzy, c-format
+#: src/xheader.c:511
+#, c-format
 msgid "Extended header length %*s is out of range"
-msgstr "归档签署的 base-64 字符串 %s 超出范围 %s"
+msgstr "扩展头长度 %*s 超出范围"
 
-#: src/xheader.c:525
-#, fuzzy
+#: src/xheader.c:523
 msgid "Malformed extended header: missing blank after length"
-msgstr "错误的扩展头:长度后缺少空白符"
+msgstr "错误的扩展头: length 后缺少空白符"
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
-msgstr "错误的扩展头缺少等于符号"
+msgstr "错误的扩展头缺少等于符号"
 
-#: src/xheader.c:539
-#, fuzzy
+#: src/xheader.c:537
 msgid "Malformed extended header: missing newline"
-msgstr "错误的扩展头:缺少等于符号"
+msgstr "错误的扩展头: 缺少空行"
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
-msgstr ""
+msgstr "忽略未知的扩展头关键字‘%s’"
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, c-format
 msgid "Generated keyword/value pair is too long (keyword=%s, length=%s)"
-msgstr ""
+msgstr "生成的关键字/值对太长了(keyword=%s, length=%s)"
 
 #. TRANSLATORS: The first %s is the pax extended header keyword
 #. (atime, gid, etc.).
-#: src/xheader.c:812
-#, fuzzy, c-format
+#: src/xheader.c:810
+#, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
-msgstr "归档值 %s 超出 %s 的范围 %s.%s"
+msgstr "扩展头 %s=%s 超出范围 %s..%s"
 
-#: src/xheader.c:943 src/xheader.c:973 src/xheader.c:1287
-#, fuzzy, c-format
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
+#, c-format
 msgid "Malformed extended header: invalid %s=%s"
-msgstr "错误的扩展头:缺少等于符号"
+msgstr "错误的扩展头: %s=%s 无效"
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
-#, fuzzy, c-format
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
+#, c-format
 msgid "Malformed extended header: excess %s=%s"
-msgstr "错误的扩展头:缺少等于符号"
+msgstr "错误的扩展头: %s=%s 溢出"
 
-#: src/xheader.c:1328
-#, fuzzy, c-format
+#: src/xheader.c:1326
+#, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
-msgstr "错误的扩展头:缺少等于符号"
+msgstr "错误的扩展头: %s 无效: 非预期的分隔符 %c"
 
-#: src/xheader.c:1338
-#, fuzzy, c-format
+#: src/xheader.c:1336
+#, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
-msgstr "错误的扩展头:缺少等于符号"
+msgstr "错误的扩展头: %s 无效: 奇怪的数值"
 
 #: src/checkpoint.c:107
-#, fuzzy, c-format
+#, c-format
 msgid "%s: not a valid timeout"
-msgstr "%s:无效的组"
+msgstr "%s: 无效的超时设置"
 
 #: src/checkpoint.c:112
 #, c-format
 msgid "%s: unknown checkpoint action"
-msgstr ""
+msgstr "%s: 未知的检查点操作"
 
 #: src/checkpoint.c:132
 msgid "write"
-msgstr ""
+msgstr "写入"
 
 #: src/checkpoint.c:132
 msgid "read"
-msgstr ""
+msgstr "读取"
 
 #. TRANSLATORS: This is a ``checkpoint of write operation'',
 #. *not* ``Writing a checkpoint''.
 #. E.g. in Spanish ``Punto de comprobaci@'on de escritura'',
 #. *not* ``Escribiendo un punto de comprobaci@'on''
 #: src/checkpoint.c:222
-#, fuzzy, c-format
+#, c-format
 msgid "Write checkpoint %u"
-msgstr "å\86\99å\85¥æ£\80æ\9f¥ç\82¹ %d"
+msgstr "å\86\99å\85¥æ\93\8dä½\9cç\9a\84æ£\80æ\9f¥ç\82¹ %u"
 
 #. TRANSLATORS: This is a ``checkpoint of read operation'',
 #. *not* ``Reading a checkpoint''.
 #. E.g. in Spanish ``Punto de comprobaci@'on de lectura'',
 #. *not* ``Leyendo un punto de comprobaci@'on''
 #: src/checkpoint.c:228
-#, fuzzy, c-format
+#, c-format
 msgid "Read checkpoint %u"
-msgstr "读å\85¥æ£\80æ\9f¥ç\82¹ %d"
+msgstr "读å\8f\96æ\93\8dä½\9cç\9a\84æ£\80æ\9f¥ç\82¹ %u"
 
 #: tests/genfile.c:111
 msgid ""
 "genfile manipulates data files for GNU paxutils test suite.\n"
 "OPTIONS are:\n"
 msgstr ""
+"genfile 为 GNU paxutils 测试软件操作数据文件。\n"
+"选项为:\n"
 
 #: tests/genfile.c:126
-#, fuzzy
 msgid "File creation options:"
-msgstr "冲突的压缩选项"
+msgstr "文件创建选项:"
 
 #: tests/genfile.c:127 tests/genfile.c:138
 msgid "SIZE"
-msgstr ""
+msgstr "SIZE"
 
 #: tests/genfile.c:128
 msgid "Create file of the given SIZE"
-msgstr ""
+msgstr "创建指定 SIZE 的文件"
 
 #: tests/genfile.c:130
-#, fuzzy
 msgid "Write to file NAME, instead of standard output"
-msgstr "å\86\99å\85¥æ \87å\87\86è¾\93å\87ºæ\97¶å\87ºé\94\99"
+msgstr "å\86\99å\85¥æ\96\87件 NAMEï¼\8cè\80\8cä¸\8dæ\98¯æ \87å\87\86è¾\93å\87º"
 
 #: tests/genfile.c:132
-#, fuzzy
 msgid "Read file names from FILE"
-msgstr "从 %2$s 读入 %1$s 字节"
+msgstr "从 FILE 读取文件名"
 
 #: tests/genfile.c:134
 msgid "-T reads null-terminated names"
-msgstr ""
+msgstr "-T 读取以 NULL 终止的名字"
 
 #: tests/genfile.c:136
 msgid "Fill the file with the given PATTERN. PATTERN is 'default' or 'zeros'"
-msgstr ""
+msgstr "以指定的 PATTERN 填充文件。PATTERN 可以是‘default’或是‘zeros’"
 
 #: tests/genfile.c:139
 msgid "Size of a block for sparse file"
-msgstr ""
+msgstr "离散文件的块大小"
 
 #: tests/genfile.c:141
+#, fuzzy
 msgid "Generate sparse file. Rest of the command line gives the file map."
-msgstr ""
+msgstr "生成离散文件。命令行其余选项指定 map 文件。"
 
 #: tests/genfile.c:143
 msgid "OFFSET"
-msgstr ""
+msgstr "OFFSET"
 
 #: tests/genfile.c:144
 msgid "Seek to the given offset before writing data"
-msgstr ""
+msgstr "在写入数据前定位至指定的偏移位"
 
 #: tests/genfile.c:150
 msgid "File statistics options:"
-msgstr ""
+msgstr "文件统计选项:"
 
 #: tests/genfile.c:153
 msgid "Print contents of struct stat for each given file. Default FORMAT is: "
-msgstr ""
+msgstr "打印每个给定文件的 stat 结构定义的内容。默认 FORMAT 是: "
 
 #: tests/genfile.c:160
 msgid "Synchronous execution options:"
-msgstr ""
+msgstr "同步执行选项:"
 
 #: tests/genfile.c:163
 msgid ""
 "Execute given COMMAND. Useful with --checkpoint and one of --cut, --append, "
 "--touch"
 msgstr ""
+"执行指定的 COMMAND。与 --checkpoint 或 --cut,--append,--touch 中的一个一起"
+"使用时有用"
 
 #: tests/genfile.c:166
 msgid "Perform given action (see below) upon reaching checkpoint NUMBER"
-msgstr ""
+msgstr "只要达到 checkpoint NUMBER 指定的数值就执行指定的操作(见下)"
 
 #: tests/genfile.c:169
 msgid "Set date for next --touch option"
-msgstr ""
+msgstr "为下一个 --touch 选项设定日期"
 
 #: tests/genfile.c:172
 msgid "Display executed checkpoints and exit status of COMMAND"
-msgstr ""
+msgstr "显示执行的 checkpoints 以及 COMMAND 的退出状态"
 
 #: tests/genfile.c:177
 msgid ""
 "Synchronous execution actions. These are executed when checkpoint number "
 "given by --checkpoint option is reached."
 msgstr ""
+"同步执行操作。当达到由 --checkpoint 选项指定的 checkpoint 数值时会执行这些操"
+"作。"
 
 #: tests/genfile.c:180
 msgid ""
 "Truncate FILE to the size specified by previous --length option (or 0, if it "
 "is not given)"
-msgstr ""
+msgstr "截短 FILE 至由前面 --length 选项指定的大小(如果未指定的话,默认 0)"
 
 #: tests/genfile.c:184
 msgid "Append SIZE bytes to FILE. SIZE is given by previous --length option."
-msgstr ""
+msgstr "添加 SIZE 字节至 FILE。SIZE 由前面的 --length 选项指定。"
 
 #: tests/genfile.c:187
 msgid "Update the access and modification times of FILE"
-msgstr ""
+msgstr "更新 FILE 的访问和修改时间"
 
 #: tests/genfile.c:190
 msgid "Execute COMMAND"
-msgstr ""
+msgstr "执行 COMMAND"
 
 #: tests/genfile.c:240
-#, fuzzy, c-format
+#, c-format
 msgid "Invalid size: %s"
-msgstr "无效的时间戳"
+msgstr "无效的值: %s"
 
 #: tests/genfile.c:245
-#, fuzzy, c-format
+#, c-format
 msgid "Number out of allowed range: %s"
-msgstr "inode 号超出范围"
+msgstr "数值超出所允许的范围: %s"
 
 #: tests/genfile.c:248
 #, c-format
 msgid "Negative size: %s"
-msgstr ""
+msgstr "负值: %s"
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
+msgstr "stat(%s) 错误"
+
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
 msgstr ""
 
-#: tests/genfile.c:355
+#: tests/genfile.c:268
 #, c-format
-msgid "Error parsing number near `%s'"
+msgid "created file is not sparse"
 msgstr ""
 
-#: tests/genfile.c:361
-#, fuzzy, c-format
+#: tests/genfile.c:353
+#, c-format
+msgid "Error parsing number near `%s'"
+msgstr "“%s”附近解析数字错误"
+
+#: tests/genfile.c:359
+#, c-format
 msgid "Unknown date format"
-msgstr "未知的系统错误"
+msgstr "未知的数据格式"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
-msgstr ""
+msgstr "[ARGS...]"
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
-msgstr ""
+msgstr "无法打开“%s”"
 
-#: tests/genfile.c:427
-#, fuzzy
+#: tests/genfile.c:425
 msgid "cannot seek"
-msgstr "%s:无法定位到 %s"
+msgstr "无法定位"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
-msgstr ""
+msgstr "文件名包含空字符"
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
-msgstr ""
+msgstr "使用 --file 选项无法在标准输出上生成离散文件"
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
-msgstr ""
+msgstr "不正确的掩码(“%s”附近)"
 
-#: tests/genfile.c:593 tests/genfile.c:626
-#, fuzzy, c-format
+#: tests/genfile.c:591 tests/genfile.c:624
+#, c-format
 msgid "Unknown field `%s'"
-msgstr " 未知的文件类型 %s\n"
+msgstr "未知的文件掩码位“%s”"
 
-#: tests/genfile.c:653
-#, fuzzy, c-format
+#: tests/genfile.c:651
+#, c-format
 msgid "cannot set time on `%s'"
-msgstr "%s:无法定位到 %s"
+msgstr "无法设定“%s”的时间"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
-msgstr ""
+msgstr "命令成功退出\n"
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, c-format
 msgid "Command failed with status %d\n"
-msgstr ""
+msgstr "命令出错,状态 %d\n"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
-msgstr ""
+msgstr "命令由信号 %d 终止了\n"
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
-msgstr ""
+msgstr "命令由信号 %d 停止了\n"
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
-msgstr ""
+msgstr "命令输出 core\n"
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
-msgstr ""
+msgstr "命令终止\n"
 
-#: tests/genfile.c:853
-#, fuzzy, c-format
+#: tests/genfile.c:851
+#, c-format
 msgid "--stat requires file names"
-msgstr "--转换的文件名--\n"
+msgstr "--stat 选项需要文件名"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
-msgstr ""
+msgstr "参数过多"
+
+#, fuzzy
+#~ msgid "cancel effect of the previous --transform-links option"
+#~ msgstr "取消 --delay-directory-restore 选项的效果"
+
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "由于前面延迟的错误而退出"
 
 #~ msgid "block size"
 #~ msgstr "块大小"
index 000de10b86c227740a3eb0b082a29eccbd0d711a..469d47c32e4e701ff9c2de5ebc58f225fded7be4 100644 (file)
Binary files a/po/zh_TW.gmo and b/po/zh_TW.gmo differ
index 7acaeb77b2ecdcb71a325ec9c3845f58fa723c11..9f45c99a394cf69973044133ab44bc4cd1a92ad0 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tar 1.15.1\n"
 "Report-Msgid-Bugs-To: bug-tar@gnu.org\n"
-"POT-Creation-Date: 2008-04-14 15:09+0300\n"
+"POT-Creation-Date: 2008-12-27 00:44+0200\n"
 "PO-Revision-Date: 2005-05-10 17:13+0800\n"
 "Last-Translator: Wei-Lun Chao <chaoweilun@pcmail.com.tw>\n"
 "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
@@ -78,7 +78,7 @@ msgstr " [選項...]"
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr "請嘗試‘%s --help’或‘%s --usage’來獲取更多資訊。\n"
 
-#: lib/argp-help.c:1710 src/tar.c:1230
+#: lib/argp-help.c:1710 src/tar.c:1255
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr "請向 %s 回報錯誤。\n"
@@ -87,17 +87,17 @@ msgstr "請向 %s 回報錯誤。\n"
 msgid "Unknown system error"
 msgstr "不明的系統錯誤"
 
-#: lib/argp-parse.c:81 src/tar.c:763
+#: lib/argp-parse.c:81 src/tar.c:773
 #, fuzzy
 msgid "give this help list"
 msgstr "給出這個使用方式列表"
 
-#: lib/argp-parse.c:82 src/tar.c:764
+#: lib/argp-parse.c:82 src/tar.c:774
 #, fuzzy
 msgid "give a short usage message"
 msgstr "給出簡短的使用訊息"
 
-#: lib/argp-parse.c:83 src/tar.c:467 src/tar.c:469 src/tar.c:538
+#: lib/argp-parse.c:83 src/tar.c:469 src/tar.c:471 src/tar.c:540
 #: tests/genfile.c:129
 msgid "NAME"
 msgstr "名稱"
@@ -110,11 +110,11 @@ msgstr ""
 msgid "SECS"
 msgstr ""
 
-#: lib/argp-parse.c:85 src/tar.c:769
+#: lib/argp-parse.c:85 src/tar.c:779
 msgid "hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: lib/argp-parse.c:142 src/tar.c:765
+#: lib/argp-parse.c:142 src/tar.c:775
 #, fuzzy
 msgid "print program version"
 msgstr "印出程式版本"
@@ -133,7 +133,7 @@ msgstr "%s:選項‘%s’需要引數\n"
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
-#: lib/closeout.c:73
+#: lib/closeout.c:112
 msgid "write error"
 msgstr ""
 
@@ -192,16 +192,16 @@ msgstr "%s:選項‘-W %s’是不明確的\n"
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s:選項‘-W %s’不可配合引數使用\n"
 
-#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1377
+#: lib/obstack.c:423 lib/obstack.c:425 lib/xalloc-die.c:34 src/extract.c:1374
 msgid "memory exhausted"
 msgstr "記憶體耗盡"
 
-#: lib/openat-die.c:33
+#: lib/openat-die.c:35
 #, fuzzy, c-format
 msgid "unable to record current working directory"
 msgstr "無法更改使用中的目錄"
 
-#: lib/openat-die.c:46
+#: lib/openat-die.c:48
 #, fuzzy, c-format
 msgid "failed to return to initial working directory"
 msgstr "無法儲存使用中的目錄"
@@ -317,11 +317,23 @@ msgstr "‘"
 msgid "'"
 msgstr "’"
 
-#: lib/rpmatch.c:69
+#. TRANSLATORS: A regular expression testing for an affirmative answer
+#. (english: "yes").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^yesexpr='
+#: lib/rpmatch.c:147
 msgid "^[yY]"
 msgstr ""
 
-#: lib/rpmatch.c:72
+#. TRANSLATORS: A regular expression testing for a negative answer
+#. (english: "no").  Testing the first character may be sufficient.
+#. Take care to consider upper and lower case.
+#. To enquire the regular expression that your system uses for this
+#. purpose, you can use the command
+#. locale -k LC_MESSAGES | grep '^noexpr='
+#: lib/rpmatch.c:160
 msgid "^[nN]"
 msgstr ""
 
@@ -523,101 +535,101 @@ msgstr "檔案突然結束"
 msgid "Garbage command"
 msgstr "無用的命令"
 
-#: src/buffer.c:281 src/buffer.c:520 src/buffer.c:1106 src/delete.c:210
-#: src/list.c:167 src/update.c:165
+#: src/buffer.c:288 src/buffer.c:293 src/buffer.c:539 src/buffer.c:1126
+#: src/delete.c:210 src/list.c:167 src/update.c:165
 msgid "This does not look like a tar archive"
 msgstr "它不像是 tar 保存檔"
 
-#: src/buffer.c:333 src/buffer.c:342
+#: src/buffer.c:352 src/buffer.c:361
 #, fuzzy
 msgid "Total bytes written"
 msgstr "已寫入位元組總數: %s (%s, %s/s)\n"
 
-#: src/buffer.c:340 src/buffer.c:354
+#: src/buffer.c:359 src/buffer.c:373
 msgid "Total bytes read"
 msgstr ""
 
-#: src/buffer.c:344
+#: src/buffer.c:363
 #, fuzzy, c-format
 msgid "Total bytes deleted: %s\n"
 msgstr "已寫入位元組總數: %s (%s, %s/s)\n"
 
-#: src/buffer.c:433
+#: src/buffer.c:452
 msgid "(pipe)"
 msgstr "(管線)"
 
-#: src/buffer.c:456
+#: src/buffer.c:475
 msgid "Invalid value for record_size"
 msgstr "無效的紀錄大小"
 
-#: src/buffer.c:459
+#: src/buffer.c:478
 msgid "No archive name given"
 msgstr "沒有指定保存檔名稱"
 
-#: src/buffer.c:503
+#: src/buffer.c:522
 msgid "Cannot verify stdin/stdout archive"
 msgstr "無法檢驗標準輸出入保存檔"
 
-#: src/buffer.c:517
+#: src/buffer.c:536
 #, c-format
 msgid "Archive is compressed. Use %s option"
 msgstr "保存檔已壓縮過。使用 %s 選項"
 
-#: src/buffer.c:566 src/tar.c:2279
+#: src/buffer.c:591 src/tar.c:2318
 msgid "Cannot update compressed archives"
 msgstr "無法更新壓縮的保存檔"
 
-#: src/buffer.c:644
+#: src/buffer.c:670
 msgid "At beginning of tape, quitting now"
 msgstr "開始讀取磁帶時出錯,立刻退出"
 
-#: src/buffer.c:650
+#: src/buffer.c:676
 msgid "Too many errors, quitting"
 msgstr "錯誤過多,必須中止"
 
-#: src/buffer.c:678
-#, c-format
-msgid "Unaligned block (%lu byte) in archive"
-msgid_plural "Unaligned block (%lu bytes) in archive"
-msgstr[0] "保存檔中未排列的區塊 (%lu 位元組)"
-
-#: src/buffer.c:698
+#: src/buffer.c:695
 #, c-format
 msgid "Record size = %lu block"
 msgid_plural "Record size = %lu blocks"
 msgstr[0] "紀錄大小 = %lu 區塊"
 
-#: src/buffer.c:771
+#: src/buffer.c:716
+#, c-format
+msgid "Unaligned block (%lu byte) in archive"
+msgid_plural "Unaligned block (%lu bytes) in archive"
+msgstr[0] "保存檔中未排列的區塊 (%lu 位元組)"
+
+#: src/buffer.c:793
 msgid "Cannot backspace archive file; it may be unreadable without -i"
 msgstr "無法倒退保存檔檔案;沒有 -i 也許會無法讀取"
 
-#: src/buffer.c:803
+#: src/buffer.c:825
 msgid "rmtlseek not stopped at a record boundary"
 msgstr "rmtlseek 無法在紀錄分界處停止"
 
-#: src/buffer.c:859
+#: src/buffer.c:879
 #, c-format
 msgid "%s: contains invalid volume number"
 msgstr "%s:包含無效的卷冊號碼"
 
-#: src/buffer.c:894
+#: src/buffer.c:914
 msgid "Volume number overflow"
 msgstr "卷冊號碼已滿"
 
-#: src/buffer.c:909
+#: src/buffer.c:929
 #, c-format
 msgid "Prepare volume #%d for %s and hit return: "
 msgstr "準備好卷冊 #%d 以完成 %s 並按下 return: "
 
-#: src/buffer.c:915
+#: src/buffer.c:935
 msgid "EOF where user reply was expected"
 msgstr "到達期待使用者回答的檔案末端"
 
-#: src/buffer.c:920 src/buffer.c:952
+#: src/buffer.c:940 src/buffer.c:972
 msgid "WARNING: Archive is incomplete"
 msgstr "警告:保存檔不完整"
 
-#: src/buffer.c:934
+#: src/buffer.c:954
 #, fuzzy, c-format
 msgid ""
 " n name        Give a new file name for the next (and subsequent) volume(s)\n"
@@ -629,69 +641,75 @@ msgstr ""
 " !          產生一個子命令介面\n"
 " ?          印出本列表\n"
 
-#: src/buffer.c:939
+#: src/buffer.c:959
 #, c-format
 msgid " !             Spawn a subshell\n"
 msgstr ""
 
-#: src/buffer.c:940
+#: src/buffer.c:960
 #, c-format
 msgid " ?             Print this list\n"
 msgstr ""
 
-#: src/buffer.c:947
+#: src/buffer.c:967
 msgid "No new volume; exiting.\n"
 msgstr "沒有新的卷冊;離開。\n"
 
-#: src/buffer.c:980
+#: src/buffer.c:1000
 msgid "File name not specified. Try again.\n"
 msgstr ""
 
-#: src/buffer.c:993
+#: src/buffer.c:1013
 #, c-format
 msgid "Invalid input. Type ? for help.\n"
 msgstr ""
 
-#: src/buffer.c:1044
+#: src/buffer.c:1064
 #, fuzzy, c-format
 msgid "%s command failed"
 msgstr "‘%s’指令失敗"
 
-#: src/buffer.c:1199
+#: src/buffer.c:1219
 #, fuzzy, c-format
 msgid "%s is possibly continued on this volume: header contains truncated name"
 msgstr "%s 在本卷冊中並不連續"
 
-#: src/buffer.c:1203
+#: src/buffer.c:1223
 #, c-format
 msgid "%s is not continued on this volume"
 msgstr "%s 在本卷冊中並不連續"
 
-#: src/buffer.c:1217
+#: src/buffer.c:1237
 #, c-format
 msgid "%s is the wrong size (%s != %s + %s)"
 msgstr "%s 的大小有錯誤 (%s != %s + %s)"
 
-#: src/buffer.c:1227
-msgid "This volume is out of sequence"
+#: src/buffer.c:1251
+#, fuzzy, c-format
+msgid "This volume is out of sequence (%s - %s != %s)"
 msgstr "本卷冊已超出序列"
 
-#: src/buffer.c:1273
+#: src/buffer.c:1301
 #, c-format
 msgid "Archive not labeled to match %s"
 msgstr "保存檔未標誌為符合 %s"
 
-#: src/buffer.c:1276
+#: src/buffer.c:1304
 #, c-format
 msgid "Volume %s does not match %s"
 msgstr "卷冊 %s 不符合 %s"
 
-#: src/buffer.c:1372
+#: src/buffer.c:1400
 #, fuzzy, c-format
 msgid ""
 "%s: file name too long to be stored in a GNU multivolume header, truncated"
 msgstr "%s: 檔名太長,無法儲存於 GNU 多重卷冊表頭之中"
 
+#: src/buffer.c:1619
+#, fuzzy
+msgid "write did not end on a block boundary"
+msgstr "rmtlseek 無法在紀錄分界處停止"
+
 #: src/compare.c:96
 #, c-format
 msgid "Could only read %lu of %lu byte"
@@ -702,8 +720,8 @@ msgstr[0] "只能讀取 %2$lu 位元組中的 %1$lu 個"
 msgid "Contents differ"
 msgstr "內容不同"
 
-#: src/compare.c:132 src/extract.c:790 src/incremen.c:1329 src/list.c:372
-#: src/list.c:1314
+#: src/compare.c:132 src/extract.c:790 src/incremen.c:1389 src/list.c:372
+#: src/list.c:1323
 msgid "Unexpected EOF in archive"
 msgstr "保存檔的檔案結尾不正常"
 
@@ -818,7 +836,7 @@ msgstr[0] "%s:檔案縮小了 %s 位元組;以零值填補"
 msgid "%s: file is on a different filesystem; not dumped"
 msgstr "%s:檔案位於不同的檔案系統;未傾印"
 
-#: src/create.c:1221 src/create.c:1232 src/incremen.c:482 src/incremen.c:488
+#: src/create.c:1221 src/create.c:1232 src/incremen.c:543 src/incremen.c:549
 msgid "contents not dumped"
 msgstr ""
 
@@ -847,7 +865,7 @@ msgstr "%s:這個檔案是保存檔;未傾印"
 msgid "%s: File removed before we read it"
 msgstr "%s:當讀取檔案時該檔案已被移除"
 
-#: src/create.c:1591 src/incremen.c:474
+#: src/create.c:1591 src/incremen.c:535
 #, fuzzy
 msgid "directory not dumped"
 msgstr "%s:包含一個快取目錄標籤;未傾印"
@@ -899,170 +917,170 @@ msgstr "%s:擷取目錄的狀態前目錄已更改了名稱"
 msgid "Extracting contiguous files as regular files"
 msgstr "正在解開連續的檔案為正常的檔案"
 
-#: src/extract.c:1000
+#: src/extract.c:997
 msgid "Attempting extraction of symbolic links as hard links"
 msgstr "嘗試解開符號連結為硬式連結"
 
-#: src/extract.c:1057
+#: src/extract.c:1054
 #, c-format
 msgid "Reading %s\n"
 msgstr "正在讀取“%s”\n"
 
-#: src/extract.c:1146
+#: src/extract.c:1143
 #, c-format
 msgid "%s: Cannot extract -- file is continued from another volume"
 msgstr "%s:無法解開 -- 檔案延續自其他卷冊"
 
-#: src/extract.c:1153 src/list.c:1081
+#: src/extract.c:1150 src/list.c:1090
 #, fuzzy
 msgid "Unexpected long name header"
 msgstr "損毀名稱的檔案結尾不正常"
 
-#: src/extract.c:1159
+#: src/extract.c:1156
 #, fuzzy, c-format
 msgid "%s: Unknown file type `%c', extracted as normal file"
 msgstr "%s:不明的檔案類型‘%c’,會以普通檔案的方式抽取資料"
 
-#: src/extract.c:1184
+#: src/extract.c:1181
 #, fuzzy, c-format
 msgid "Current %s is newer or same age"
 msgstr "目前的‘%s’較新"
 
-#: src/extract.c:1230
+#: src/extract.c:1227
 #, c-format
 msgid "%s: Was unable to backup this file"
 msgstr "%s:無法備份此檔案"
 
-#: src/extract.c:1358
+#: src/extract.c:1355
 #, fuzzy, c-format
 msgid "Cannot rename %s to %s"
 msgstr "%s:無法改名為 %s"
 
-#: src/extract.c:1370
+#: src/extract.c:1367
 #, c-format
 msgid "Error is not recoverable: exiting now"
 msgstr "發生無法復原的錯誤:立刻退出"
 
-#: src/incremen.c:390 src/incremen.c:430
+#: src/incremen.c:445 src/incremen.c:489
 #, fuzzy, c-format
 msgid "%s: Directory has been renamed from %s"
 msgstr "%s:目錄已被變更名稱"
 
-#: src/incremen.c:400
+#: src/incremen.c:457
 #, c-format
 msgid "%s: Directory has been renamed"
 msgstr "%s:目錄已被變更名稱"
 
-#: src/incremen.c:441
+#: src/incremen.c:502
 #, c-format
 msgid "%s: Directory is new"
 msgstr "%s:目錄是新的"
 
-#: src/incremen.c:833 src/incremen.c:850
+#: src/incremen.c:893 src/incremen.c:910
 msgid "Invalid time stamp"
 msgstr "無效的時間標記"
 
-#: src/incremen.c:889
+#: src/incremen.c:949
 #, fuzzy
 msgid "Invalid modification time (seconds)"
 msgstr "選項中的模式無效"
 
-#: src/incremen.c:904
+#: src/incremen.c:964
 msgid "Invalid modification time (nanoseconds)"
 msgstr ""
 
-#: src/incremen.c:924
+#: src/incremen.c:984
 msgid "Invalid device number"
 msgstr "無效的裝置號碼"
 
-#: src/incremen.c:939
+#: src/incremen.c:999
 msgid "Invalid inode number"
 msgstr "無效的 inode 號碼"
 
-#: src/incremen.c:990 src/incremen.c:1027
+#: src/incremen.c:1050 src/incremen.c:1087
 msgid "Field too long while reading snapshot file"
 msgstr ""
 
-#: src/incremen.c:997 src/incremen.c:1035
+#: src/incremen.c:1057 src/incremen.c:1095
 msgid "Read error in snapshot file"
 msgstr ""
 
-#: src/incremen.c:999 src/incremen.c:1039 src/incremen.c:1091
-#: src/incremen.c:1149
+#: src/incremen.c:1059 src/incremen.c:1099 src/incremen.c:1151
+#: src/incremen.c:1209
 #, fuzzy
 msgid "Unexpected EOF in snapshot file"
 msgstr "保存檔的檔案結尾不正常"
 
-#: src/incremen.c:1006 src/incremen.c:1046
+#: src/incremen.c:1066 src/incremen.c:1106
 msgid "Unexpected field value in snapshot file"
 msgstr ""
 
-#: src/incremen.c:1141
+#: src/incremen.c:1201
 msgid "Missing record terminator"
 msgstr ""
 
-#: src/incremen.c:1192 src/incremen.c:1195
+#: src/incremen.c:1252 src/incremen.c:1255
 msgid "Bad incremental file format"
 msgstr ""
 
-#: src/incremen.c:1214
+#: src/incremen.c:1274
 #, c-format
 msgid "Unsupported incremental format version: %<PRIuMAX>"
 msgstr ""
 
-#: src/incremen.c:1369
+#: src/incremen.c:1429
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found %#3o"
 msgstr ""
 
-#: src/incremen.c:1379
+#: src/incremen.c:1439
 msgid "Malformed dumpdir: 'X' duplicated"
 msgstr ""
 
-#: src/incremen.c:1392
+#: src/incremen.c:1452
 #, fuzzy
 msgid "Malformed dumpdir: empty name in 'R'"
 msgstr "未成形的密度引數: '%s'"
 
-#: src/incremen.c:1405
+#: src/incremen.c:1465
 msgid "Malformed dumpdir: 'T' not preceeded by 'R'"
 msgstr ""
 
-#: src/incremen.c:1411
+#: src/incremen.c:1471
 #, fuzzy
 msgid "Malformed dumpdir: empty name in 'T'"
 msgstr "未成形的密度引數: '%s'"
 
-#: src/incremen.c:1431
+#: src/incremen.c:1491
 #, c-format
 msgid "Malformed dumpdir: expected '%c' but found end of data"
 msgstr ""
 
-#: src/incremen.c:1437
+#: src/incremen.c:1497
 msgid "Malformed dumpdir: 'X' never used"
 msgstr ""
 
-#: src/incremen.c:1481
+#: src/incremen.c:1541
 #, c-format
 msgid "Cannot create temporary directory using template %s"
 msgstr ""
 
-#: src/incremen.c:1543
+#: src/incremen.c:1603
 #, c-format
 msgid "%s: Not purging directory: unable to stat"
 msgstr "%s:未能清空目錄;無法顯示狀態"
 
-#: src/incremen.c:1556
+#: src/incremen.c:1616
 #, c-format
 msgid "%s: directory is on a different device: not purging"
 msgstr "%s:目錄位於不同的裝置;無法清空"
 
-#: src/incremen.c:1564
+#: src/incremen.c:1624
 #, c-format
 msgid "%s: Deleting %s\n"
 msgstr "%s:正在刪除 %s\n"
 
-#: src/incremen.c:1569
+#: src/incremen.c:1629
 #, c-format
 msgid "%s: Cannot remove"
 msgstr "%s:無法移除"
@@ -1082,86 +1100,86 @@ msgstr "區塊 %s:** 空虛的區塊 **\n"
 msgid "block %s: ** End of File **\n"
 msgstr "區塊 %s:** 檔案末端 **\n"
 
-#: src/list.c:178 src/list.c:1054 src/list.c:1282
+#: src/list.c:178 src/list.c:1063 src/list.c:1291
 #, c-format
 msgid "block %s: "
 msgstr "區塊 %s:"
 
 #. TRANSLATORS: %s is type of the value (gid_t, uid_t, etc.)
-#: src/list.c:662
+#: src/list.c:671
 #, 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:717
+#: src/list.c:726
 #, 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:728
+#: src/list.c:737
 #, c-format
 msgid "Archive octal value %.*s is out of %s range"
 msgstr "保存檔八進位數值 %.*s 超出 %s 範圍"
 
-#: src/list.c:749
+#: src/list.c:758
 msgid "Archive contains obsolescent base-64 headers"
 msgstr "保存檔含有過時的 base-64 標頭"
 
-#: src/list.c:763
+#: src/list.c:772
 #, c-format
 msgid "Archive signed base-64 string %s is out of %s range"
 msgstr "保存檔有號 base-64 字串 %s 超出 %s 範圍"
 
-#: src/list.c:794
+#: src/list.c:803
 #, 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:823
+#: src/list.c:832
 #, 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:845
+#: src/list.c:854
 #, fuzzy, c-format
 msgid "Archive value %s is out of %s range %s..%s"
 msgstr "保存檔值 %s 已超出 %s 的範圍 %s.%s"
 
-#: src/list.c:1217
+#: src/list.c:1226
 #, c-format
 msgid " link to %s\n"
 msgstr " 連結至 %s\n"
 
-#: src/list.c:1225
+#: src/list.c:1234
 #, c-format
 msgid " unknown file type %s\n"
 msgstr "不明的檔案類型 %s\n"
 
-#: src/list.c:1243
+#: src/list.c:1252
 #, c-format
 msgid "--Long Link--\n"
 msgstr "--長 連 結--\n"
 
-#: src/list.c:1247
+#: src/list.c:1256
 #, c-format
 msgid "--Long Name--\n"
 msgstr "--長 名 稱--\n"
 
-#: src/list.c:1251
+#: src/list.c:1260
 #, c-format
 msgid "--Volume Header--\n"
 msgstr "--卷 冊 標 頭--\n"
 
-#: src/list.c:1259
+#: src/list.c:1268
 #, c-format
 msgid "--Continued at byte %s--\n"
 msgstr "─由第 %s 位元組繼續─\n"
 
-#: src/list.c:1287
+#: src/list.c:1296
 msgid "Creating directory:"
 msgstr "正在建立目錄:"
 
@@ -1198,24 +1216,24 @@ msgstr "行程內通道"
 
 #. TRANSLATORS: The following three msgids form a single sentence.
 #.
-#: src/names.c:599
+#: src/names.c:593
 msgid "Pattern matching characters used in file names. Please,"
 msgstr ""
 
-#: src/names.c:601
+#: src/names.c:595
 msgid "use --wildcards to enable pattern matching, or --no-wildcards to"
 msgstr ""
 
-#: src/names.c:603
+#: src/names.c:597
 msgid "suppress this warning."
 msgstr ""
 
-#: src/names.c:618 src/names.c:636
+#: src/names.c:612 src/names.c:630
 #, c-format
 msgid "%s: Not found in archive"
 msgstr "%s:保存檔中無法找到"
 
-#: src/names.c:621
+#: src/names.c:615
 #, c-format
 msgid "%s: Required occurrence not found in archive"
 msgstr "%s:要求的事件在保存檔中找不到"
@@ -1240,7 +1258,7 @@ msgid ""
 "Unknown quoting style `%s'. Try `%s --quoting-style=help' to get a list."
 msgstr ""
 
-#: src/tar.c:334
+#: src/tar.c:336
 #, fuzzy
 msgid ""
 "GNU `tar' saves many files together into a single tape or disk archive, and "
@@ -1259,7 +1277,7 @@ msgstr ""
 "  %s -tvf archive.tar         # 詳細列出 archive.tar 中的所有檔案。\n"
 "  %s -xf archive.tar          # 抽取 archive.tar 中的所有檔案。\n"
 
-#: src/tar.c:343
+#: src/tar.c:345
 #, fuzzy
 msgid ""
 "The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.\n"
@@ -1287,86 +1305,86 @@ msgstr ""
 "  nil, existing   若有數字的備份檔已經存在則使用數字,否則使用普通方式備份\n"
 "  never, simple   永遠使用普通方式備份\n"
 
-#: src/tar.c:369
+#: src/tar.c:371
 msgid "Main operation mode:"
 msgstr "主要操作模式:"
 
-#: src/tar.c:372
+#: src/tar.c:374
 msgid "list the contents of an archive"
 msgstr "列出保存檔的內容"
 
-#: src/tar.c:374
+#: src/tar.c:376
 msgid "extract files from an archive"
 msgstr "從保存檔中解開檔案"
 
-#: src/tar.c:377
+#: src/tar.c:379
 msgid "create a new archive"
 msgstr "建立一個新的保存檔"
 
-#: src/tar.c:379
+#: src/tar.c:381
 msgid "find differences between archive and file system"
 msgstr "在保存檔與檔案系統之間找出差異"
 
-#: src/tar.c:382
+#: src/tar.c:384
 msgid "append files to the end of an archive"
 msgstr "加入檔案到保存檔末端"
 
-#: src/tar.c:384
+#: src/tar.c:386
 msgid "only append files newer than copy in archive"
 msgstr "只加入比保存檔中複本還新的檔案"
 
-#: src/tar.c:386
+#: src/tar.c:388
 msgid "append tar files to an archive"
 msgstr "加入 tar 檔案到保存檔中"
 
-#: src/tar.c:389
+#: src/tar.c:391
 msgid "delete from the archive (not on mag tapes!)"
 msgstr "從保存檔中刪除 (並非在磁帶上!)"
 
-#: src/tar.c:391
+#: src/tar.c:393
 msgid "test the archive volume label and exit"
 msgstr ""
 
-#: src/tar.c:396
+#: src/tar.c:398
 msgid "Operation modifiers:"
 msgstr "運算變更項:"
 
-#: src/tar.c:399
+#: src/tar.c:401
 msgid "handle sparse files efficiently"
 msgstr "有效率地處理稀疏的檔案"
 
-#: src/tar.c:400
+#: src/tar.c:402
 msgid "MAJOR[.MINOR]"
 msgstr ""
 
-#: src/tar.c:401
+#: src/tar.c:403
 msgid "set version of the sparse format to use (implies --sparse)"
 msgstr ""
 
-#: src/tar.c:403
+#: src/tar.c:405
 msgid "handle old GNU-format incremental backup"
 msgstr "處理舊型 GNU-格式之漸進式備份"
 
-#: src/tar.c:404 src/tar.c:541 src/tar.c:614 src/tar.c:618 src/tar.c:628
-#: src/tar.c:638 src/tar.c:641 src/tar.c:643 src/tar.c:725 tests/genfile.c:131
+#: src/tar.c:406 src/tar.c:543 src/tar.c:621 src/tar.c:625 src/tar.c:637
+#: src/tar.c:647 src/tar.c:650 src/tar.c:652 src/tar.c:735 tests/genfile.c:131
 #: tests/genfile.c:179 tests/genfile.c:183 tests/genfile.c:186
 msgid "FILE"
 msgstr "檔案"
 
-#: src/tar.c:405
+#: src/tar.c:407
 msgid "handle new GNU-format incremental backup"
 msgstr "處理新型 GNU-格式之漸進式備份"
 
-#: src/tar.c:407
+#: src/tar.c:409
 msgid "do not exit with nonzero on unreadable files"
 msgstr "離開無法讀取的檔案時不要回傳非零的值"
 
-#: src/tar.c:408 src/tar.c:536 src/tar.c:551 src/tar.c:675 src/tar.c:710
+#: src/tar.c:410 src/tar.c:538 src/tar.c:553 src/tar.c:684 src/tar.c:720
 #: tests/genfile.c:165
 msgid "NUMBER"
 msgstr "數目"
 
-#: src/tar.c:409
+#: src/tar.c:411
 #, fuzzy
 msgid ""
 "process only the NUMBERth occurrence of each file in the archive; this "
@@ -1378,304 +1396,304 @@ msgstr ""
 "delete、--diff、--extract 或 --list 等次命令之一合併使用時才有效,而且要經由"
 "命令列 或是 -T 選項來提供一個檔案序列。預設的數目是 1。"
 
-#: src/tar.c:415
+#: src/tar.c:417
 #, fuzzy
 msgid "archive is seekable"
 msgstr "保存檔是可搜尋的"
 
-#: src/tar.c:417
+#: src/tar.c:419
 msgid "do not check device numbers when creating incremental archives"
 msgstr ""
 
-#: src/tar.c:420
+#: src/tar.c:422
 msgid "check device numbers when creating incremental archives (default)"
 msgstr ""
 
-#: src/tar.c:426
+#: src/tar.c:428
 msgid "Overwrite control:"
 msgstr ""
 
-#: src/tar.c:429
+#: src/tar.c:431
 msgid "attempt to verify the archive after writing it"
 msgstr "嘗試在寫入之後驗證保存檔"
 
-#: src/tar.c:431
+#: src/tar.c:433
 msgid "remove files after adding them to the archive"
 msgstr "在加入檔案至保存檔之後移除它們"
 
-#: src/tar.c:433
+#: src/tar.c:435
 msgid "don't replace existing files when extracting"
 msgstr "解開時不要替換既有的檔案"
 
-#: src/tar.c:435
+#: src/tar.c:437
 msgid "don't replace existing files that are newer than their archive copies"
 msgstr "不要替換既有且比它們在保存檔中複本還新的檔案"
 
-#: src/tar.c:437
+#: src/tar.c:439
 msgid "overwrite existing files when extracting"
 msgstr "解開時覆寫既有檔案"
 
-#: src/tar.c:439
+#: src/tar.c:441
 msgid "remove each file prior to extracting over it"
 msgstr "在解開並覆寫檔案之前先移除它"
 
-#: src/tar.c:441
+#: src/tar.c:443
 msgid "empty hierarchies prior to extracting directory"
 msgstr "在解開目錄之前先清空目錄階層"
 
-#: src/tar.c:443
+#: src/tar.c:445
 msgid "preserve metadata of existing directories"
 msgstr "保留既有目錄的原始資料"
 
-#: src/tar.c:445
+#: src/tar.c:447
 #, fuzzy
 msgid "overwrite metadata of existing directories when extracting (default)"
 msgstr "解開時覆寫既有檔案"
 
-#: src/tar.c:451
+#: src/tar.c:453
 msgid "Select output stream:"
 msgstr ""
 
-#: src/tar.c:454
+#: src/tar.c:456
 msgid "extract files to standard output"
 msgstr "解開檔案至標準輸出"
 
-#: src/tar.c:455 src/tar.c:514 src/tar.c:516 tests/genfile.c:162
+#: src/tar.c:457 src/tar.c:516 src/tar.c:518 tests/genfile.c:162
 #: tests/genfile.c:189
 msgid "COMMAND"
 msgstr "命令"
 
-#: src/tar.c:456
+#: src/tar.c:458
 #, fuzzy
 msgid "pipe extracted files to another program"
 msgstr "解開檔案至標準輸出"
 
-#: src/tar.c:458
+#: src/tar.c:460
 msgid "ignore exit codes of children"
 msgstr ""
 
-#: src/tar.c:460
+#: src/tar.c:462
 msgid "treat non-zero exit codes of children as error"
 msgstr ""
 
-#: src/tar.c:465
+#: src/tar.c:467
 msgid "Handling of file attributes:"
 msgstr "檔案屬性的處理:"
 
-#: src/tar.c:468
+#: src/tar.c:470
 msgid "force NAME as owner for added files"
 msgstr "強制以名稱做為加入檔案的擁有者"
 
-#: src/tar.c:470
+#: src/tar.c:472
 msgid "force NAME as group for added files"
 msgstr "強制以名稱做為加入檔案的群組"
 
-#: src/tar.c:471 src/tar.c:661
+#: src/tar.c:473 src/tar.c:670
 msgid "DATE-OR-FILE"
 msgstr "檔案的日期"
 
-#: src/tar.c:472
+#: src/tar.c:474
 #, fuzzy
 msgid "set mtime for added files from DATE-OR-FILE"
 msgstr "只儲存比 DATE-OF-FILE 還新的檔案"
 
-#: src/tar.c:473
+#: src/tar.c:475
 msgid "CHANGES"
 msgstr "變更"
 
-#: src/tar.c:474
+#: src/tar.c:476
 msgid "force (symbolic) mode CHANGES for added files"
 msgstr "強制以(符號)變更做為加入檔案的模式"
 
-#: src/tar.c:476
+#: src/tar.c:478
 msgid "METHOD"
 msgstr ""
 
-#: src/tar.c:477
+#: src/tar.c:479
 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:481
+#: src/tar.c:483
 msgid "don't extract file modified time"
 msgstr "不要解開檔案的修改時間"
 
-#: src/tar.c:483
+#: src/tar.c:485
 msgid "try extracting files with the same ownership"
 msgstr "嘗試以相同的擁有身分去解開檔案"
 
-#: src/tar.c:485
+#: src/tar.c:487
 msgid "extract files as yourself"
 msgstr "以自己的身分解開檔案"
 
-#: src/tar.c:487
+#: src/tar.c:489
 msgid "always use numbers for user/group names"
 msgstr "總是使用數字做為使用者/群組名稱"
 
-#: src/tar.c:489
+#: src/tar.c:491
 msgid "extract information about file permissions (default for superuser)"
 msgstr ""
 
-#: src/tar.c:493
+#: src/tar.c:495
 msgid ""
 "apply the user's umask when extracting permissions from the archive (default "
 "for ordinary users)"
 msgstr ""
 
-#: src/tar.c:495
+#: src/tar.c:497
 msgid "sort names to extract to match archive"
 msgstr "解開時依名稱排序以符合保存檔"
 
-#: src/tar.c:498
+#: src/tar.c:500
 msgid "same as both -p and -s"
 msgstr "等同於指定 -p 與 -s"
 
-#: src/tar.c:500
+#: src/tar.c:502
 msgid ""
 "delay setting modification times and permissions of extracted directories "
 "until the end of extraction"
 msgstr ""
 
-#: src/tar.c:503
+#: src/tar.c:505
 msgid "cancel the effect of --delay-directory-restore option"
 msgstr ""
 
-#: src/tar.c:508
+#: src/tar.c:510
 msgid "Device selection and switching:"
 msgstr "裝置選擇與切換:"
 
-#: src/tar.c:510
+#: src/tar.c:512
 msgid "ARCHIVE"
 msgstr "保存檔"
 
-#: src/tar.c:511
+#: src/tar.c:513
 msgid "use archive file or device ARCHIVE"
 msgstr "使用保存檔檔案或保存檔裝置"
 
-#: src/tar.c:513
+#: src/tar.c:515
 #, fuzzy
 msgid "archive file is local even if it has a colon"
 msgstr "即使具有冒號,保存檔檔案仍位於本地端"
 
-#: src/tar.c:515
+#: src/tar.c:517
 msgid "use given rmt COMMAND instead of rmt"
 msgstr "使用賦予的 rmt 命令以取代 rmt"
 
-#: src/tar.c:517
+#: src/tar.c:519
 msgid "use remote COMMAND instead of rsh"
 msgstr "使用遠端的命令以取代 rsh"
 
-#: src/tar.c:521
+#: src/tar.c:523
 msgid "specify drive and density"
 msgstr "指定磁碟機與記錄密度"
 
-#: src/tar.c:535
+#: src/tar.c:537
 msgid "create/list/extract multi-volume archive"
 msgstr "建立/列表/解開 多重卷冊的保存檔"
 
-#: src/tar.c:537
+#: src/tar.c:539
 msgid "change tape after writing NUMBER x 1024 bytes"
 msgstr "在寫入 NUMBER x 1024 位元組之後更換磁帶"
 
-#: src/tar.c:539
+#: src/tar.c:541
 msgid "run script at end of each tape (implies -M)"
 msgstr "在每卷磁帶末端執行命令稿 (意指 -M)"
 
-#: src/tar.c:542
+#: src/tar.c:544
 msgid "use/update the volume number in FILE"
 msgstr "使用/更新 FILE 中的卷冊號碼"
 
-#: src/tar.c:547
+#: src/tar.c:549
 msgid "Device blocking:"
 msgstr "裝置分區:"
 
-#: src/tar.c:549
+#: src/tar.c:551
 msgid "BLOCKS"
 msgstr "區塊"
 
-#: src/tar.c:550
+#: src/tar.c:552
 msgid "BLOCKS x 512 bytes per record"
 msgstr "每筆紀錄含有 BLOCKS x 512 位元組"
 
-#: src/tar.c:552
+#: src/tar.c:554
 #, fuzzy
 msgid "NUMBER of bytes per record, multiple of 512"
 msgstr "每筆紀錄 SIZE 位元組,為 512 的倍數"
 
-#: src/tar.c:554
+#: src/tar.c:556
 msgid "ignore zeroed blocks in archive (means EOF)"
 msgstr "忽略保存檔中零值的區塊 (意指 EOF)"
 
-#: src/tar.c:556
+#: src/tar.c:558
 msgid "reblock as we read (for 4.2BSD pipes)"
 msgstr "讀取時重新分區 (用於 4.2BSD 管線)"
 
-#: src/tar.c:561
+#: src/tar.c:563
 msgid "Archive format selection:"
 msgstr "保存檔格式選擇:"
 
-#: src/tar.c:563 tests/genfile.c:152
+#: src/tar.c:565 tests/genfile.c:152
 msgid "FORMAT"
 msgstr "格式"
 
-#: src/tar.c:564
+#: src/tar.c:566
 #, fuzzy
 msgid "create archive of the given format"
 msgstr "以給定格式建立保存檔。"
 
-#: src/tar.c:566
+#: src/tar.c:568
 msgid "FORMAT is one of the following:"
 msgstr "符合下列任一格式:"
 
-#: src/tar.c:567
+#: src/tar.c:569
 msgid "old V7 tar format"
 msgstr "舊式 V7 tar 格式"
 
-#: src/tar.c:570
+#: src/tar.c:572
 msgid "GNU format as per tar <= 1.12"
 msgstr "tar <= 1.12 之 GNU 格式"
 
-#: src/tar.c:572
+#: src/tar.c:574
 msgid "GNU tar 1.13.x format"
 msgstr "GNU tar 1.13.x 格式"
 
-#: src/tar.c:574
+#: src/tar.c:576
 msgid "POSIX 1003.1-1988 (ustar) format"
 msgstr "POSIX 1003.1-1988 (ustar) 格式"
 
-#: src/tar.c:576
+#: src/tar.c:578
 msgid "POSIX 1003.1-2001 (pax) format"
 msgstr "POSIX 1003.1-2001 (pax) 格式"
 
-#: src/tar.c:577
+#: src/tar.c:579
 #, fuzzy
 msgid "same as pax"
 msgstr "等同 pax"
 
-#: src/tar.c:580
+#: src/tar.c:582
 msgid "same as --format=v7"
 msgstr "等同 --format=v7"
 
-#: src/tar.c:583
+#: src/tar.c:585
 msgid "same as --format=posix"
 msgstr "等同 --format=posix"
 
-#: src/tar.c:584
+#: src/tar.c:586
 #, fuzzy
 msgid "keyword[[:]=value][,keyword[[:]=value]]..."
 msgstr "關鍵字[[:]=值][,關鍵字[[:]=值], ...]"
 
-#: src/tar.c:585
+#: src/tar.c:587
 msgid "control pax keywords"
 msgstr "控制 pax 的關鍵字"
 
-#: src/tar.c:586
+#: src/tar.c:588
 msgid "TEXT"
 msgstr "文字"
 
-#: src/tar.c:587
+#: src/tar.c:589
 #, fuzzy
 msgid ""
 "create archive with volume name TEXT; at list/extract time, use TEXT as a "
@@ -1683,178 +1701,191 @@ msgid ""
 msgstr ""
 "以卷冊名稱 NAME 來建立保存檔。在列表/解開時,使用 TEXT 做為萬用比對樣式"
 
-#: src/tar.c:592
+#: src/tar.c:594
 #, fuzzy
 msgid "Compression options:"
 msgstr "有關壓縮的選項互相抵觸"
 
-#: src/tar.c:594
+#: src/tar.c:596
 msgid "use archive suffix to determine the compression program"
 msgstr ""
 
-#: src/tar.c:596
+#: src/tar.c:598
+msgid "do not use use archive suffix to determine the compression program"
+msgstr ""
+
+#: src/tar.c:601
 msgid "filter the archive through bzip2"
 msgstr "保存檔以 bzip2 過濾處理"
 
-#: src/tar.c:598
+#: src/tar.c:603
 msgid "filter the archive through gzip"
 msgstr "保存檔以 gzip 過濾處理"
 
-#: src/tar.c:602
+#: src/tar.c:607
 msgid "filter the archive through compress"
 msgstr "保存檔以 compress 過濾處理"
 
-#: src/tar.c:605
+#: src/tar.c:610
 #, fuzzy
 msgid "filter the archive through lzma"
 msgstr "保存檔以 gzip 過濾處理"
 
-#: src/tar.c:606
+#: src/tar.c:612
+#, fuzzy
+msgid "filter the archive through lzop"
+msgstr "保存檔以 gzip 過濾處理"
+
+#: src/tar.c:613
 msgid "PROG"
 msgstr "程式"
 
-#: src/tar.c:607
+#: src/tar.c:614
 msgid "filter through PROG (must accept -d)"
 msgstr "以 PROG 過濾處理 (必須接受 -d)"
 
-#: src/tar.c:612
+#: src/tar.c:619
 msgid "Local file selection:"
 msgstr "本機檔案選擇:"
 
-#: src/tar.c:615
+#: src/tar.c:622
 msgid "add given FILE to the archive (useful if its name starts with a dash)"
 msgstr ""
 
-#: src/tar.c:616
+#: src/tar.c:623
 msgid "DIR"
 msgstr "目錄"
 
-#: src/tar.c:617
+#: src/tar.c:624
 msgid "change to directory DIR"
 msgstr "更改至目錄 DIR"
 
-#: src/tar.c:619
+#: src/tar.c:626
 #, fuzzy
 msgid "get names to extract or create from FILE"
 msgstr "從檔案 NAME 中取得要解開或建立的名稱"
 
-#: src/tar.c:621
+#: src/tar.c:628
 msgid "-T reads null-terminated names, disable -C"
 msgstr "-T 讀取零值終結的名稱,停用 -C"
 
-#: src/tar.c:623
+#: src/tar.c:630
+msgid "disable the effect of the previous --null option"
+msgstr ""
+
+#: src/tar.c:632
 msgid "unquote filenames read with -T (default)"
 msgstr ""
 
-#: src/tar.c:625
+#: src/tar.c:634
 msgid "do not unquote filenames read with -T"
 msgstr ""
 
-#: src/tar.c:626 tests/genfile.c:135
+#: src/tar.c:635 tests/genfile.c:135
 msgid "PATTERN"
 msgstr "樣式"
 
-#: src/tar.c:627
+#: src/tar.c:636
 msgid "exclude files, given as a PATTERN"
 msgstr "排除給定樣式的檔案"
 
-#: src/tar.c:629
+#: src/tar.c:638
 msgid "exclude patterns listed in FILE"
 msgstr "排除 FILE 中所列出的樣式"
 
-#: src/tar.c:631
+#: src/tar.c:640
 #, fuzzy
 msgid ""
 "exclude contents of directories containing CACHEDIR.TAG, except for the tag "
 "file itself"
 msgstr "排除包含了快取標記的目錄"
 
-#: src/tar.c:634
+#: src/tar.c:643
 #, fuzzy
 msgid "exclude everything under directories containing CACHEDIR.TAG"
 msgstr "排除包含了快取標記的目錄"
 
-#: src/tar.c:637
+#: src/tar.c:646
 #, fuzzy
 msgid "exclude directories containing CACHEDIR.TAG"
 msgstr "排除包含了快取標記的目錄"
 
-#: src/tar.c:639
+#: src/tar.c:648
 #, fuzzy
 msgid "exclude contents of directories containing FILE, except for FILE itself"
 msgstr "排除包含了快取標記的目錄"
 
-#: src/tar.c:642
+#: src/tar.c:651
 #, fuzzy
 msgid "exclude everything under directories containing FILE"
 msgstr "排除包含了快取標記的目錄"
 
-#: src/tar.c:644
+#: src/tar.c:653
 #, fuzzy
 msgid "exclude directories containing FILE"
 msgstr "排除包含了快取標記的目錄"
 
-#: src/tar.c:646
+#: src/tar.c:655
 msgid "exclude version control system directories"
 msgstr ""
 
-#: src/tar.c:648
+#: src/tar.c:657
 msgid "avoid descending automatically in directories"
 msgstr "避免自動在目錄中下降"
 
-#: src/tar.c:650
+#: src/tar.c:659
 msgid "stay in local file system when creating archive"
 msgstr "建立保存檔時保持在本地檔案系統中"
 
-#: src/tar.c:652
+#: src/tar.c:661
 msgid "recurse into directories (default)"
 msgstr "遞迴進入目錄 (預設)"
 
-#: src/tar.c:654
+#: src/tar.c:663
 msgid "don't strip leading `/'s from file names"
 msgstr "不要從檔案名稱中截去前導的 '/'"
 
-#: src/tar.c:656
+#: src/tar.c:665
 msgid "follow symlinks; archive and dump the files they point to"
 msgstr ""
 
-#: src/tar.c:658
+#: src/tar.c:667
 msgid "follow hard links; archive and dump the files they refer to"
 msgstr ""
 
-#: src/tar.c:659
+#: src/tar.c:668
 msgid "MEMBER-NAME"
 msgstr "成員-名稱"
 
-#: src/tar.c:660
+#: src/tar.c:669
 msgid "begin at member MEMBER-NAME in the archive"
 msgstr "從保存檔中名為 MEMBER-NAME 的成員開始"
 
-#: src/tar.c:662
+#: src/tar.c:671
 msgid "only store files newer than DATE-OR-FILE"
 msgstr "只儲存比 DATE-OF-FILE 還新的檔案"
 
-#: src/tar.c:664
+#: src/tar.c:673
 msgid "DATE"
 msgstr "日期"
 
-#: src/tar.c:665
+#: src/tar.c:674
 msgid "compare date and time when data changed only"
 msgstr "只有當資料變更時才比較日期和時間"
 
-#: src/tar.c:666
+#: src/tar.c:675
 msgid "CONTROL"
 msgstr "控制"
 
-#: src/tar.c:667
+#: src/tar.c:676
 msgid "backup before removal, choose version CONTROL"
 msgstr "移除前先備份,選擇版本 CONTROL"
 
-#: src/tar.c:668 src/tar.c:742 src/tar.c:744 tests/genfile.c:168
+#: src/tar.c:677 src/tar.c:752 src/tar.c:754 tests/genfile.c:168
 msgid "STRING"
 msgstr "字串"
 
-#: src/tar.c:669
+#: src/tar.c:678
 #, fuzzy
 msgid ""
 "backup before removal, override usual suffix ('~' unless overridden by "
@@ -1863,95 +1894,95 @@ msgstr ""
 "移除前先備份並覆蓋一般後置文字 '~',除非被環境變數 SIMPLE_BACKUP_SUFFIX 所覆"
 "蓋"
 
-#: src/tar.c:674
+#: src/tar.c:683
 msgid "File name transformations:"
 msgstr ""
 
-#: src/tar.c:676
+#: src/tar.c:685
 #, fuzzy
 msgid "strip NUMBER leading components from file names on extraction"
 msgstr "從檔案名稱中截去以 NUMBER 為首的成分"
 
-#: src/tar.c:678
+#: src/tar.c:687
 msgid "EXPRESSION"
 msgstr ""
 
-#: src/tar.c:679
+#: src/tar.c:688
 msgid "use sed replace EXPRESSION to transform file names"
 msgstr ""
 
-#: src/tar.c:684
+#: src/tar.c:694
 msgid "File name matching options (affect both exclude and include patterns):"
 msgstr ""
 
-#: src/tar.c:687
+#: src/tar.c:697
 #, fuzzy
 msgid "ignore case"
 msgstr "排除時忽略大小寫"
 
-#: src/tar.c:689
+#: src/tar.c:699
 #, fuzzy
 msgid "patterns match file name start"
 msgstr "排除樣式會比對檔案名稱開頭"
 
-#: src/tar.c:691
+#: src/tar.c:701
 #, fuzzy
 msgid "patterns match after any `/' (default for exclusion)"
 msgstr "排除樣式會比對任一 '/' 後端 (預設)"
 
-#: src/tar.c:693
+#: src/tar.c:703
 #, fuzzy
 msgid "case sensitive matching (default)"
 msgstr "排除樣式忽略大小寫"
 
-#: src/tar.c:695
+#: src/tar.c:705
 msgid "use wildcards (default for exclusion)"
 msgstr ""
 
-#: src/tar.c:697
+#: src/tar.c:707
 msgid "verbatim string matching"
 msgstr ""
 
-#: src/tar.c:699
+#: src/tar.c:709
 #, fuzzy
 msgid "wildcards do not match `/'"
 msgstr "排除樣式之萬用字元不會符合 '/'"
 
-#: src/tar.c:701
+#: src/tar.c:711
 #, fuzzy
 msgid "wildcards match `/' (default for exclusion)"
 msgstr "排除樣式之萬用字元會符合 '/' (預設)"
 
-#: src/tar.c:706
+#: src/tar.c:716
 msgid "Informative output:"
 msgstr "富含資訊的輸出:"
 
-#: src/tar.c:709
+#: src/tar.c:719
 msgid "verbosely list files processed"
 msgstr "詳細列出處理過的檔案"
 
-#: src/tar.c:711
+#: src/tar.c:721
 #, fuzzy
 msgid "display progress messages every NUMBERth record (default 10)"
 msgstr "每 10 項紀錄顯示一次進度訊息"
 
-#: src/tar.c:713
+#: src/tar.c:723
 msgid "ACTION"
 msgstr ""
 
-#: src/tar.c:714
+#: src/tar.c:724
 msgid "execute ACTION on each checkpoint"
 msgstr ""
 
-#: src/tar.c:717
+#: src/tar.c:727
 msgid "print a message if not all links are dumped"
 msgstr "如果並非所有連結都被傾印則印出一條訊息"
 
-#: src/tar.c:718
+#: src/tar.c:728
 msgid "SIGNAL"
 msgstr ""
 
-#: src/tar.c:719
+#: src/tar.c:729
 msgid ""
 "print total bytes after processing the archive; with an argument - print "
 "total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, "
@@ -1959,116 +1990,116 @@ msgid ""
 "accepted"
 msgstr ""
 
-#: src/tar.c:724
+#: src/tar.c:734
 msgid "print file modification dates in UTC"
 msgstr "以 UTC 格式印出檔案修改日期"
 
-#: src/tar.c:726
+#: src/tar.c:736
 msgid "send verbose output to FILE"
 msgstr "將詳細輸出送至 FILE"
 
-#: src/tar.c:728
+#: src/tar.c:738
 msgid "show block number within archive with each message"
 msgstr "每則訊息附帶顯示在保存檔中的區塊號碼"
 
-#: src/tar.c:730
+#: src/tar.c:740
 msgid "ask for confirmation for every action"
 msgstr "任何動作都要求確認"
 
-#: src/tar.c:733
+#: src/tar.c:743
 #, fuzzy
 msgid "show tar defaults"
 msgstr "顯示 tar 預設值"
 
-#: src/tar.c:735
+#: src/tar.c:745
 #, fuzzy
 msgid ""
 "when listing or extracting, list each directory that does not match search "
 "criteria"
 msgstr "當表列或解開時,列出每一個不符合搜尋條件的目錄"
 
-#: src/tar.c:737
+#: src/tar.c:747
 msgid "show file or archive names after transformation"
 msgstr ""
 
-#: src/tar.c:740
+#: src/tar.c:750
 msgid "STYLE"
 msgstr ""
 
-#: src/tar.c:741
+#: src/tar.c:751
 msgid "set name quoting style; see below for valid STYLE values"
 msgstr ""
 
-#: src/tar.c:743
+#: src/tar.c:753
 msgid "additionally quote characters from STRING"
 msgstr ""
 
-#: src/tar.c:745
+#: src/tar.c:755
 msgid "disable quoting for characters from STRING"
 msgstr ""
 
-#: src/tar.c:750
+#: src/tar.c:760
 msgid "Compatibility options:"
 msgstr "相容性選項:"
 
-#: src/tar.c:753
+#: src/tar.c:763
 #, fuzzy
 msgid ""
 "when creating, same as --old-archive; when extracting, same as --no-same-"
 "owner"
 msgstr "當建立時,等同於 --old-archive。當解開時,等同於 --no-same-owner"
 
-#: src/tar.c:758
+#: src/tar.c:768
 msgid "Other options:"
 msgstr "其他選項:"
 
-#: src/tar.c:761
+#: src/tar.c:771
 msgid "disable use of some potentially harmful options"
 msgstr ""
 
-#: src/tar.c:899
+#: src/tar.c:919
 msgid "You may not specify more than one `-Acdtrux' option"
 msgstr "不可指定‘-Acdtrux’當中多於一個的選項"
 
-#: src/tar.c:909
+#: src/tar.c:929
 msgid "Conflicting compression options"
 msgstr "有關壓縮的選項互相抵觸"
 
-#: src/tar.c:965
+#: src/tar.c:985
 #, fuzzy, c-format
 msgid "Unknown signal name: %s"
 msgstr "不明的檔案類型 %s\n"
 
-#: src/tar.c:989
+#: src/tar.c:1009
 #, fuzzy
 msgid "Date sample file not found"
 msgstr "找不到用作擷取時間資料的檔案"
 
-#: src/tar.c:997
+#: src/tar.c:1017
 #, c-format
 msgid "Substituting %s for unknown date format %s"
 msgstr "以 %s 代替不明的日期格式 %s"
 
-#: src/tar.c:1022
+#: src/tar.c:1042
 #, fuzzy, c-format
 msgid "Option %s: Treating date `%s' as %s"
 msgstr "以 %2$s + %3$ld 柰秒的格式來處理日期 '%1$s'"
 
-#: src/tar.c:1096
+#: src/tar.c:1119
 #, fuzzy, c-format
 msgid "%s: file list already read"
 msgstr "%s:這個檔案是保存檔;未傾印"
 
-#: src/tar.c:1159
+#: src/tar.c:1184
 #, c-format
 msgid "%s: file name read contains nul character"
 msgstr ""
 
-#: src/tar.c:1224
+#: src/tar.c:1249
 msgid "Valid arguments for --quoting-style options are:"
 msgstr ""
 
-#: src/tar.c:1227
+#: src/tar.c:1252
 msgid ""
 "\n"
 "*This* tar defaults to:\n"
@@ -2076,151 +2107,165 @@ msgstr ""
 "\n"
 "*這個* tar 預設為:\n"
 
-#: src/tar.c:1264
+#: src/tar.c:1293
 msgid "Invalid blocking factor"
 msgstr "無效的分區因素"
 
-#: src/tar.c:1340
+#: src/tar.c:1369
 msgid "Warning: the -I option is not supported; perhaps you meant -j or -T?"
 msgstr "警告:不再支援 -I 選項;也許你是指 -j 或 -T 選項?"
 
-#: src/tar.c:1373
+#: src/tar.c:1406
 msgid "Invalid tape length"
 msgstr "無效的磁帶長度"
 
-#: src/tar.c:1409
+#: src/tar.c:1442
 msgid "More than one threshold date"
 msgstr "一個以上的限定日期"
 
-#: src/tar.c:1464 src/tar.c:1467
+#: src/tar.c:1497 src/tar.c:1500
 msgid "Invalid sparse version value"
 msgstr ""
 
-#: src/tar.c:1552
+#: src/tar.c:1585
 msgid "--atime-preserve='system' is not supported on this platform"
 msgstr ""
 
-#: src/tar.c:1577
+#: src/tar.c:1610
 msgid "--checkpoint value is not an integer"
 msgstr ""
 
-#: src/tar.c:1678
+#: src/tar.c:1711
 #, c-format
 msgid "%s: Invalid group"
 msgstr "%s:無效的群組"
 
-#: src/tar.c:1685
+#: src/tar.c:1718
 msgid "Invalid mode given on option"
 msgstr "選項中的模式無效"
 
-#: src/tar.c:1738
+#: src/tar.c:1775
 msgid "Invalid number"
 msgstr "無效的號碼"
 
-#: src/tar.c:1760
+#: src/tar.c:1797
 msgid "Invalid owner"
 msgstr "無效的擁有者"
 
-#: src/tar.c:1794
+#: src/tar.c:1823
+msgid ""
+"The --preserve option is deprecated, use --preserve-permissions --preserve-"
+"order instead"
+msgstr ""
+
+#: src/tar.c:1833
 msgid "Invalid record size"
 msgstr "無效的紀錄大小"
 
-#: src/tar.c:1797
+#: src/tar.c:1836
 #, c-format
 msgid "Record size must be a multiple of %d."
 msgstr "紀錄大小必須是 %d 的倍數。"
 
-#: src/tar.c:1834
+#: src/tar.c:1873
 msgid "Invalid number of elements"
 msgstr "無效的元素號碼"
 
-#: src/tar.c:1854
+#: src/tar.c:1893
 msgid "Only one --to-command option allowed"
 msgstr ""
 
-#: src/tar.c:1930
+#: src/tar.c:1969
 #, fuzzy, c-format
 msgid "Malformed density argument: %s"
 msgstr "未成形的密度引數: '%s'"
 
-#: src/tar.c:1956
+#: src/tar.c:1995
 #, fuzzy, c-format
 msgid "Unknown density: `%c'"
 msgstr "未知的密度: '%c'"
 
-#: src/tar.c:1973
+#: src/tar.c:2012
 #, c-format
 msgid "Options `-[0-7][lmh]' not supported by *this* tar"
 msgstr "此版本的 tar 不支援‘-[0-7][lmh]’選項"
 
-#: src/tar.c:2008
+#: src/tar.c:2047
 msgid "[FILE]..."
 msgstr "[FILE]..."
 
-#: src/tar.c:2114
+#: src/tar.c:2153
 #, c-format
 msgid "Old option `%c' requires an argument."
 msgstr "舊式的選項‘%c’需要引數。"
 
-#: src/tar.c:2196
+#: src/tar.c:2235
 msgid "--occurrence is meaningless without a file list"
 msgstr "若無檔案列表,--occurrence 便不具意義"
 
-#: src/tar.c:2202
+#: src/tar.c:2241
 msgid "--occurrence cannot be used in the requested operation mode"
 msgstr "--occurrence 不可使用於要求的作業模式"
 
-#: src/tar.c:2232
+#: src/tar.c:2271
 msgid "Multiple archive files require `-M' option"
 msgstr "指定多個保存檔時需要‘-M’選項"
 
-#: src/tar.c:2237
+#: src/tar.c:2276
 msgid "Cannot combine --listed-incremental with --newer"
 msgstr "無法同時使用 --listed-incremental 及 --newer 選項"
 
-#: src/tar.c:2254
+#: src/tar.c:2293
 #, 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:2267
+#: src/tar.c:2306
 msgid "Cannot verify multi-volume archives"
 msgstr "無法檢驗多重卷冊的保存檔"
 
-#: src/tar.c:2269
+#: src/tar.c:2308
 msgid "Cannot verify compressed archives"
 msgstr "無法檢驗壓縮的保存檔"
 
-#: src/tar.c:2275
+#: src/tar.c:2314
 msgid "Cannot use multi-volume compressed archives"
 msgstr "無法使用多重卷冊的壓縮保存檔"
 
-#: src/tar.c:2281
+#: src/tar.c:2320
 #, fuzzy
 msgid "Cannot concatenate compressed archives"
 msgstr "無法更新壓縮的保存檔"
 
-#: src/tar.c:2293
+#: src/tar.c:2332
 msgid "--pax-option can be used only on POSIX archives"
 msgstr "--pax-option 只能用於 POSIX 保存檔"
 
-#: src/tar.c:2318
+#: src/tar.c:2350
+msgid "Volume length cannot be less than record size"
+msgstr ""
+
+#: src/tar.c:2353
+msgid "--preserve-order is not compatible with --listed-incremental"
+msgstr ""
+
+#: src/tar.c:2364
 msgid "Cowardly refusing to create an empty archive"
 msgstr "拒絕建立空白的保存檔"
 
-#: src/tar.c:2343
+#: src/tar.c:2389
 msgid "Options `-Aru' are incompatible with `-f -'"
 msgstr "‘-Aru’及‘-f -’選項互不兼容"
 
-#: src/tar.c:2432
+#: src/tar.c:2478
 msgid "You must specify one of the `-Acdtrux' options"
 msgstr "必須指定‘-Acdtrux’選項的其中一個"
 
-#: src/tar.c:2483
+#: src/tar.c:2529
 #, c-format
-msgid "Error exit delayed from previous errors"
-msgstr "發生錯誤離開時因之前的錯誤而延遲"
+msgid "Exiting with failure status due to previous errors"
+msgstr ""
 
 #: src/update.c:86
 #, c-format
@@ -2228,82 +2273,82 @@ msgid "%s: File shrank by %s byte"
 msgid_plural "%s: File shrank by %s bytes"
 msgstr[0] "%s:檔案縮減了 %s 位元組"
 
-#: src/xheader.c:158
+#: src/xheader.c:156
 #, fuzzy, c-format
 msgid "Keyword %s is unknown or not yet implemented"
 msgstr "關鍵字 %s 為未知或尚未實作"
 
-#: src/xheader.c:184
+#: src/xheader.c:182
 #, c-format
 msgid "Pattern %s cannot be used"
 msgstr "樣式 %s 無法被使用"
 
-#: src/xheader.c:194
+#: src/xheader.c:192
 #, c-format
 msgid "Keyword %s cannot be overridden"
 msgstr "關鍵字 %s 無法被蓋過"
 
-#: src/xheader.c:498
+#: src/xheader.c:496
 #, fuzzy
 msgid "Malformed extended header: missing length"
 msgstr "未成形的擴充標頭:缺少等號"
 
-#: src/xheader.c:506
+#: src/xheader.c:504
 msgid "Extended header length is out of allowed range"
 msgstr ""
 
-#: src/xheader.c:513
+#: src/xheader.c:511
 #, fuzzy, c-format
 msgid "Extended header length %*s is out of range"
 msgstr "保存檔有號 base-64 字串 %s 超出 %s 範圍"
 
-#: src/xheader.c:525
+#: src/xheader.c:523
 #, fuzzy
 msgid "Malformed extended header: missing blank after length"
 msgstr "未成形的擴充標頭:在長度之後缺少空白"
 
-#: src/xheader.c:533
+#: src/xheader.c:531
 msgid "Malformed extended header: missing equal sign"
 msgstr "未成形的擴充標頭:缺少等號"
 
-#: src/xheader.c:539
+#: src/xheader.c:537
 #, fuzzy
 msgid "Malformed extended header: missing newline"
 msgstr "未成形的擴充標頭:缺少等號"
 
-#: src/xheader.c:576
+#: src/xheader.c:574
 #, c-format
 msgid "Ignoring unknown extended header keyword `%s'"
 msgstr ""
 
-#: src/xheader.c:780
+#: src/xheader.c:778
 #, 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:812
+#: src/xheader.c:810
 #, fuzzy, c-format
 msgid "Extended header %s=%s is out of range %s..%s"
 msgstr "保存檔值 %s 已超出 %s 的範圍 %s.%s"
 
-#: src/xheader.c:943 src/xheader.c:973 src/xheader.c:1287
+#: src/xheader.c:941 src/xheader.c:971 src/xheader.c:1285
 #, fuzzy, c-format
 msgid "Malformed extended header: invalid %s=%s"
 msgstr "未成形的擴充標頭:缺少等號"
 
-#: src/xheader.c:1240 src/xheader.c:1265 src/xheader.c:1315
+#: src/xheader.c:1238 src/xheader.c:1263 src/xheader.c:1313
 #, fuzzy, c-format
 msgid "Malformed extended header: excess %s=%s"
 msgstr "未成形的擴充標頭:缺少等號"
 
-#: src/xheader.c:1328
+#: src/xheader.c:1326
 #, fuzzy, c-format
 msgid "Malformed extended header: invalid %s: unexpected delimiter %c"
 msgstr "未成形的擴充標頭:缺少等號"
 
-#: src/xheader.c:1338
+#: src/xheader.c:1336
 #, fuzzy, c-format
 msgid "Malformed extended header: invalid %s: odd number of values"
 msgstr "未成形的擴充標頭:缺少等號"
@@ -2470,97 +2515,107 @@ msgstr "Inode 號碼超出範圍以外"
 msgid "Negative size: %s"
 msgstr ""
 
-#: tests/genfile.c:261 tests/genfile.c:560
+#: tests/genfile.c:261 tests/genfile.c:558
 #, c-format
 msgid "stat(%s) failed"
 msgstr ""
 
-#: tests/genfile.c:355
+#: tests/genfile.c:264
+#, c-format
+msgid "requested file length %lu, actual %lu"
+msgstr ""
+
+#: tests/genfile.c:268
+#, c-format
+msgid "created file is not sparse"
+msgstr ""
+
+#: tests/genfile.c:353
 #, c-format
 msgid "Error parsing number near `%s'"
 msgstr ""
 
-#: tests/genfile.c:361
+#: tests/genfile.c:359
 #, fuzzy, c-format
 msgid "Unknown date format"
 msgstr "不明的系統錯誤"
 
-#: tests/genfile.c:384
+#: tests/genfile.c:382
 msgid "[ARGS...]"
 msgstr ""
 
-#: tests/genfile.c:421 tests/genfile.c:461 tests/genfile.c:514
-#: tests/genfile.c:664 tests/genfile.c:678
+#: tests/genfile.c:419 tests/genfile.c:459 tests/genfile.c:512
+#: tests/genfile.c:662 tests/genfile.c:676
 #, c-format
 msgid "cannot open `%s'"
 msgstr ""
 
-#: tests/genfile.c:427
+#: tests/genfile.c:425
 #, fuzzy
 msgid "cannot seek"
 msgstr "close 程序失敗"
 
-#: tests/genfile.c:444
+#: tests/genfile.c:442
 #, c-format
 msgid "file name contains null character"
 msgstr ""
 
-#: tests/genfile.c:509
+#: tests/genfile.c:507
 #, c-format
 msgid "cannot generate sparse files on standard output, use --file option"
 msgstr ""
 
-#: tests/genfile.c:587
+#: tests/genfile.c:585
 #, c-format
 msgid "incorrect mask (near `%s')"
 msgstr ""
 
-#: tests/genfile.c:593 tests/genfile.c:626
+#: tests/genfile.c:591 tests/genfile.c:624
 #, fuzzy, c-format
 msgid "Unknown field `%s'"
 msgstr "不明的檔案類型 %s\n"
 
-#: tests/genfile.c:653
+#: tests/genfile.c:651
 #, fuzzy, c-format
 msgid "cannot set time on `%s'"
 msgstr "%s:無法搜尋至 %s"
 
-#: tests/genfile.c:807
+#: tests/genfile.c:805
 #, c-format
 msgid "Command exited successfully\n"
 msgstr ""
 
-#: tests/genfile.c:809
+#: tests/genfile.c:807
 #, fuzzy, c-format
 msgid "Command failed with status %d\n"
 msgstr "副程序因訊號 %d 而突然終止"
 
-#: tests/genfile.c:813
+#: tests/genfile.c:811
 #, c-format
 msgid "Command terminated on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:815
+#: tests/genfile.c:813
 #, c-format
 msgid "Command stopped on signal %d\n"
 msgstr ""
 
-#: tests/genfile.c:818
+#: tests/genfile.c:816
 #, c-format
 msgid "Command dumped core\n"
 msgstr ""
 
-#: tests/genfile.c:821
+#: tests/genfile.c:819
 #, c-format
 msgid "Command terminated\n"
 msgstr ""
 
-#: tests/genfile.c:853
+#: tests/genfile.c:851
 #, fuzzy, c-format
 msgid "--stat requires file names"
 msgstr "--損毀的檔案名稱--\n"
 
-#: tests/genfile.c:866
+#: tests/genfile.c:864
 #, c-format
 msgid "too many arguments"
 msgstr ""
@@ -2690,6 +2745,9 @@ msgstr ""
 #~ msgid "Error in writing to standard output"
 #~ msgstr "將資料寫入至標準輸出時發生錯誤"
 
+#~ msgid "Error exit delayed from previous errors"
+#~ msgstr "發生錯誤離開時因之前的錯誤而延遲"
+
 #~ msgid "Cannot dup"
 #~ msgstr "dup 程序失敗"
 
index 45889c54ee90d636e5aca94eaa77e0d328308791..547892600b4377e33965799529846b6a2a7e21e4 100644 (file)
@@ -42,19 +42,20 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/alloca.m4 \
        $(top_srcdir)/m4/canonicalize-lgpl.m4 \
        $(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \
        $(top_srcdir)/m4/clock_time.m4 \
-       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/closeout.m4 \
-       $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/d-ino.m4 \
+       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
+       $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/d-ino.m4 $(top_srcdir)/m4/dirent_h.m4 \
        $(top_srcdir)/m4/dirfd.m4 $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \
        $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \
-       $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/eoverflow.m4 \
+       $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \
        $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exclude.m4 \
        $(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.m4 \
-       $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fcntl-safer.m4 \
-       $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fileblocks.m4 \
-       $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
-       $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseeko.m4 \
-       $(top_srcdir)/m4/ftruncate.m4 \
+       $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fclose.m4 \
+       $(top_srcdir)/m4/fcntl-safer.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+       $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/float_h.m4 \
+       $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \
+       $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/ftruncate.m4 \
        $(top_srcdir)/m4/getcwd-abort-bug.m4 \
        $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
        $(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getdelim.m4 \
@@ -79,41 +80,43 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/alloca.m4 \
        $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \
        $(top_srcdir)/m4/memset.m4 $(top_srcdir)/m4/mkdtemp.m4 \
        $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/modechange.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/openat.m4 \
-       $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/open.m4 \
+       $(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/paxutils.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/progtest.m4 \
        $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
-       $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
-       $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rmdir.m4 \
-       $(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \
-       $(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \
-       $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \
-       $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/sleep.m4 $(top_srcdir)/m4/snprintf.m4 \
-       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
-       $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
-       $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \
-       $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
-       $(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcase.m4 \
-       $(top_srcdir)/m4/strchrnul.m4 $(top_srcdir)/m4/strdup.m4 \
-       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/string_h.m4 \
-       $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \
-       $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoimax.m4 \
-       $(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/strtoll.m4 \
-       $(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \
-       $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/sys_stat_h.m4 \
-       $(top_srcdir)/m4/sys_time_h.m4 $(top_srcdir)/m4/sysexits.m4 \
-       $(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \
-       $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
-       $(top_srcdir)/m4/unistd-safer.m4 $(top_srcdir)/m4/unistd_h.m4 \
-       $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \
-       $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utime.m4 \
-       $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimes-null.m4 \
-       $(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \
-       $(top_srcdir)/m4/vsnprintf.m4 $(top_srcdir)/m4/wchar.m4 \
-       $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wctype.m4 \
-       $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \
+       $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/readlink.m4 \
+       $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \
+       $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rmt.m4 \
+       $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/rtapelib.m4 \
+       $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \
+       $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \
+       $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \
+       $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \
+       $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stdarg.m4 \
+       $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stdint.m4 \
+       $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/stpcpy.m4 \
+       $(top_srcdir)/m4/strcase.m4 $(top_srcdir)/m4/strchrnul.m4 \
+       $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
+       $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \
+       $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
+       $(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \
+       $(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \
+       $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
+       $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
+       $(top_srcdir)/m4/sysexits.m4 $(top_srcdir)/m4/system.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
+       $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlinkdir.m4 \
+       $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \
+       $(top_srcdir)/m4/utime.m4 $(top_srcdir)/m4/utimens.m4 \
+       $(top_srcdir)/m4/utimes-null.m4 $(top_srcdir)/m4/utimes.m4 \
+       $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vsnprintf.m4 \
+       $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wchar_t.m4 \
+       $(top_srcdir)/m4/wctype.m4 $(top_srcdir)/m4/wcwidth.m4 \
+       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/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)/configure.ac
@@ -178,7 +181,13 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
-EOVERFLOW = @EOVERFLOW@
+EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
+EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
+ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
+ENOLINK_VALUE = @ENOLINK_VALUE@
+EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
+EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
+ERRNO_H = @ERRNO_H@
 EXEEXT = @EXEEXT@
 FCNTL_H = @FCNTL_H@
 FLOAT_H = @FLOAT_H@
@@ -188,30 +197,47 @@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CHOWN = @GNULIB_CHOWN@
+GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DIRFD = @GNULIB_DIRFD@
 GNULIB_DUP2 = @GNULIB_DUP2@
 GNULIB_ENVIRON = @GNULIB_ENVIRON@
+GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
 GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
 GNULIB_FFLUSH = @GNULIB_FFLUSH@
 GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
 GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
 GNULIB_FREOPEN = @GNULIB_FREOPEN@
 GNULIB_FSEEK = @GNULIB_FSEEK@
 GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSYNC = @GNULIB_FSYNC@
 GNULIB_FTELL = @GNULIB_FTELL@
 GNULIB_FTELLO = @GNULIB_FTELLO@
 GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FWRITE = @GNULIB_FWRITE@
 GNULIB_GETCWD = @GNULIB_GETCWD@
 GNULIB_GETDELIM = @GNULIB_GETDELIM@
+GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
+GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
 GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
+GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
 GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
 GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
@@ -232,15 +258,26 @@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
 GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
 GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
 GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
+GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READLINK = @GNULIB_READLINK@
 GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SETENV = @GNULIB_SETENV@
 GNULIB_SLEEP = @GNULIB_SLEEP@
 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
 GNULIB_STPCPY = @GNULIB_STPCPY@
 GNULIB_STPNCPY = @GNULIB_STPNCPY@
 GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
@@ -256,25 +293,35 @@ GNULIB_STRSTR = @GNULIB_STRSTR@
 GNULIB_STRTOD = @GNULIB_STRTOD@
 GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
 GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
 GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
+GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNSETENV = @GNULIB_UNSETENV@
 GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
 GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
 GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
 GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
 GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
 GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WRITE = @GNULIB_WRITE@
 GREP = @GREP@
+HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
+HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
-HAVE_DECL_MKDIR = @HAVE_DECL_MKDIR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
@@ -288,22 +335,31 @@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
 HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
 HAVE_DUP2 = @HAVE_DUP2@
+HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
 HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSYNC = @HAVE_FSYNC@
 HAVE_FTELLO = @HAVE_FTELLO@
 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
+HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
-HAVE_IO_H = @HAVE_IO_H@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LCHMOD = @HAVE_LCHMOD@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
 HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
 HAVE_MEMPCPY = @HAVE_MEMPCPY@
 HAVE_MKDTEMP = @HAVE_MKDTEMP@
 HAVE_OS_H = @HAVE_OS_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
+HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
+HAVE_RPMATCH = @HAVE_RPMATCH@
 HAVE_SETENV = @HAVE_SETENV@
 HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
 HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
@@ -319,10 +375,15 @@ HAVE_STRNDUP = @HAVE_STRNDUP@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRSEP = @HAVE_STRSEP@
 HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
+HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
@@ -364,6 +425,7 @@ MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
 NEXT_DIRENT_H = @NEXT_DIRENT_H@
+NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_FLOAT_H = @NEXT_FLOAT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
@@ -389,13 +451,16 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 POSUB = @POSUB@
+PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
 PRIPTR_PREFIX = @PRIPTR_PREFIX@
 PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 PU_RMT_PROG = @PU_RMT_PROG@
 RANLIB = @RANLIB@
 REPLACE_CHOWN = @REPLACE_CHOWN@
+REPLACE_CLOSE = @REPLACE_CLOSE@
 REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
@@ -408,18 +473,25 @@ REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
 REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
 REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_PERROR = @REPLACE_PERROR@
 REPLACE_PRINTF = @REPLACE_PRINTF@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
 REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
 REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
 REPLACE_STRPTIME = @REPLACE_STRPTIME@
 REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
@@ -432,6 +504,7 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WRITE = @REPLACE_WRITE@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
@@ -447,6 +520,7 @@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 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@
+UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 VOID_UNSETENV = @VOID_UNSETENV@
index 268cee789497d048d8ba7edc92a48350bb7de895..5a7241634889dadacd92f86b84b37ddbd0b88d4e 100644 (file)
@@ -43,19 +43,20 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/alloca.m4 \
        $(top_srcdir)/m4/canonicalize-lgpl.m4 \
        $(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \
        $(top_srcdir)/m4/clock_time.m4 \
-       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/closeout.m4 \
-       $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/d-ino.m4 \
+       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
+       $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/d-ino.m4 $(top_srcdir)/m4/dirent_h.m4 \
        $(top_srcdir)/m4/dirfd.m4 $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \
        $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \
-       $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/eoverflow.m4 \
+       $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \
        $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exclude.m4 \
        $(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.m4 \
-       $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fcntl-safer.m4 \
-       $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fileblocks.m4 \
-       $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
-       $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseeko.m4 \
-       $(top_srcdir)/m4/ftruncate.m4 \
+       $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fclose.m4 \
+       $(top_srcdir)/m4/fcntl-safer.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+       $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/float_h.m4 \
+       $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \
+       $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/ftruncate.m4 \
        $(top_srcdir)/m4/getcwd-abort-bug.m4 \
        $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
        $(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getdelim.m4 \
@@ -80,41 +81,43 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/alloca.m4 \
        $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \
        $(top_srcdir)/m4/memset.m4 $(top_srcdir)/m4/mkdtemp.m4 \
        $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/modechange.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/openat.m4 \
-       $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/open.m4 \
+       $(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/paxutils.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/progtest.m4 \
        $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
-       $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
-       $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rmdir.m4 \
-       $(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \
-       $(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \
-       $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \
-       $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/sleep.m4 $(top_srcdir)/m4/snprintf.m4 \
-       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
-       $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
-       $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \
-       $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
-       $(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcase.m4 \
-       $(top_srcdir)/m4/strchrnul.m4 $(top_srcdir)/m4/strdup.m4 \
-       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/string_h.m4 \
-       $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \
-       $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoimax.m4 \
-       $(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/strtoll.m4 \
-       $(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \
-       $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/sys_stat_h.m4 \
-       $(top_srcdir)/m4/sys_time_h.m4 $(top_srcdir)/m4/sysexits.m4 \
-       $(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \
-       $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
-       $(top_srcdir)/m4/unistd-safer.m4 $(top_srcdir)/m4/unistd_h.m4 \
-       $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \
-       $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utime.m4 \
-       $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimes-null.m4 \
-       $(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \
-       $(top_srcdir)/m4/vsnprintf.m4 $(top_srcdir)/m4/wchar.m4 \
-       $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wctype.m4 \
-       $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \
+       $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/readlink.m4 \
+       $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \
+       $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rmt.m4 \
+       $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/rtapelib.m4 \
+       $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \
+       $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \
+       $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \
+       $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \
+       $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stdarg.m4 \
+       $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stdint.m4 \
+       $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/stpcpy.m4 \
+       $(top_srcdir)/m4/strcase.m4 $(top_srcdir)/m4/strchrnul.m4 \
+       $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
+       $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \
+       $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
+       $(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \
+       $(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \
+       $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
+       $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
+       $(top_srcdir)/m4/sysexits.m4 $(top_srcdir)/m4/system.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
+       $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlinkdir.m4 \
+       $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \
+       $(top_srcdir)/m4/utime.m4 $(top_srcdir)/m4/utimens.m4 \
+       $(top_srcdir)/m4/utimes-null.m4 $(top_srcdir)/m4/utimes.m4 \
+       $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vsnprintf.m4 \
+       $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wchar_t.m4 \
+       $(top_srcdir)/m4/wctype.m4 $(top_srcdir)/m4/wcwidth.m4 \
+       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/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)/configure.ac
@@ -166,7 +169,13 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
-EOVERFLOW = @EOVERFLOW@
+EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
+EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
+ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
+ENOLINK_VALUE = @ENOLINK_VALUE@
+EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
+EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
+ERRNO_H = @ERRNO_H@
 EXEEXT = @EXEEXT@
 FCNTL_H = @FCNTL_H@
 FLOAT_H = @FLOAT_H@
@@ -176,30 +185,47 @@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CHOWN = @GNULIB_CHOWN@
+GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DIRFD = @GNULIB_DIRFD@
 GNULIB_DUP2 = @GNULIB_DUP2@
 GNULIB_ENVIRON = @GNULIB_ENVIRON@
+GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
 GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
 GNULIB_FFLUSH = @GNULIB_FFLUSH@
 GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
 GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
 GNULIB_FREOPEN = @GNULIB_FREOPEN@
 GNULIB_FSEEK = @GNULIB_FSEEK@
 GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSYNC = @GNULIB_FSYNC@
 GNULIB_FTELL = @GNULIB_FTELL@
 GNULIB_FTELLO = @GNULIB_FTELLO@
 GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FWRITE = @GNULIB_FWRITE@
 GNULIB_GETCWD = @GNULIB_GETCWD@
 GNULIB_GETDELIM = @GNULIB_GETDELIM@
+GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
+GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
 GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
+GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
 GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
 GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
@@ -220,15 +246,26 @@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
 GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
 GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
 GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
+GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READLINK = @GNULIB_READLINK@
 GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SETENV = @GNULIB_SETENV@
 GNULIB_SLEEP = @GNULIB_SLEEP@
 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
 GNULIB_STPCPY = @GNULIB_STPCPY@
 GNULIB_STPNCPY = @GNULIB_STPNCPY@
 GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
@@ -244,25 +281,35 @@ GNULIB_STRSTR = @GNULIB_STRSTR@
 GNULIB_STRTOD = @GNULIB_STRTOD@
 GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
 GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
 GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
+GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNSETENV = @GNULIB_UNSETENV@
 GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
 GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
 GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
 GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
 GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
 GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WRITE = @GNULIB_WRITE@
 GREP = @GREP@
+HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
+HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
-HAVE_DECL_MKDIR = @HAVE_DECL_MKDIR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
@@ -276,22 +323,31 @@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
 HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
 HAVE_DUP2 = @HAVE_DUP2@
+HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
 HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSYNC = @HAVE_FSYNC@
 HAVE_FTELLO = @HAVE_FTELLO@
 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
+HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
-HAVE_IO_H = @HAVE_IO_H@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LCHMOD = @HAVE_LCHMOD@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
 HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
 HAVE_MEMPCPY = @HAVE_MEMPCPY@
 HAVE_MKDTEMP = @HAVE_MKDTEMP@
 HAVE_OS_H = @HAVE_OS_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
+HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
+HAVE_RPMATCH = @HAVE_RPMATCH@
 HAVE_SETENV = @HAVE_SETENV@
 HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
 HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
@@ -307,10 +363,15 @@ HAVE_STRNDUP = @HAVE_STRNDUP@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRSEP = @HAVE_STRSEP@
 HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
+HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
@@ -352,6 +413,7 @@ MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
 NEXT_DIRENT_H = @NEXT_DIRENT_H@
+NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_FLOAT_H = @NEXT_FLOAT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
@@ -377,13 +439,16 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 POSUB = @POSUB@
+PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
 PRIPTR_PREFIX = @PRIPTR_PREFIX@
 PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 PU_RMT_PROG = @PU_RMT_PROG@
 RANLIB = @RANLIB@
 REPLACE_CHOWN = @REPLACE_CHOWN@
+REPLACE_CLOSE = @REPLACE_CLOSE@
 REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
@@ -396,18 +461,25 @@ REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
 REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
 REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_PERROR = @REPLACE_PERROR@
 REPLACE_PRINTF = @REPLACE_PRINTF@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
 REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
 REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
 REPLACE_STRPTIME = @REPLACE_STRPTIME@
 REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
@@ -420,6 +492,7 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WRITE = @REPLACE_WRITE@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
@@ -435,6 +508,7 @@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 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@
+UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 VOID_UNSETENV = @VOID_UNSETENV@
index d97b1c67298a9761be353fa78a3c0cdb8bdc32c8..66edf302d3b68ee88882b104da4c357b6f2059ae 100644 (file)
@@ -49,19 +49,20 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/alloca.m4 \
        $(top_srcdir)/m4/canonicalize-lgpl.m4 \
        $(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \
        $(top_srcdir)/m4/clock_time.m4 \
-       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/closeout.m4 \
-       $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/d-ino.m4 \
+       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
+       $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/d-ino.m4 $(top_srcdir)/m4/dirent_h.m4 \
        $(top_srcdir)/m4/dirfd.m4 $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \
        $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \
-       $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/eoverflow.m4 \
+       $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \
        $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exclude.m4 \
        $(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.m4 \
-       $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fcntl-safer.m4 \
-       $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fileblocks.m4 \
-       $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
-       $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseeko.m4 \
-       $(top_srcdir)/m4/ftruncate.m4 \
+       $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fclose.m4 \
+       $(top_srcdir)/m4/fcntl-safer.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+       $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/float_h.m4 \
+       $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \
+       $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/ftruncate.m4 \
        $(top_srcdir)/m4/getcwd-abort-bug.m4 \
        $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
        $(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getdelim.m4 \
@@ -86,41 +87,43 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/alloca.m4 \
        $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \
        $(top_srcdir)/m4/memset.m4 $(top_srcdir)/m4/mkdtemp.m4 \
        $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/modechange.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/openat.m4 \
-       $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/open.m4 \
+       $(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/paxutils.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/progtest.m4 \
        $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
-       $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
-       $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rmdir.m4 \
-       $(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \
-       $(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \
-       $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \
-       $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/sleep.m4 $(top_srcdir)/m4/snprintf.m4 \
-       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
-       $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
-       $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \
-       $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
-       $(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcase.m4 \
-       $(top_srcdir)/m4/strchrnul.m4 $(top_srcdir)/m4/strdup.m4 \
-       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/string_h.m4 \
-       $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \
-       $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoimax.m4 \
-       $(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/strtoll.m4 \
-       $(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \
-       $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/sys_stat_h.m4 \
-       $(top_srcdir)/m4/sys_time_h.m4 $(top_srcdir)/m4/sysexits.m4 \
-       $(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \
-       $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
-       $(top_srcdir)/m4/unistd-safer.m4 $(top_srcdir)/m4/unistd_h.m4 \
-       $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \
-       $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utime.m4 \
-       $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimes-null.m4 \
-       $(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \
-       $(top_srcdir)/m4/vsnprintf.m4 $(top_srcdir)/m4/wchar.m4 \
-       $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wctype.m4 \
-       $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \
+       $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/readlink.m4 \
+       $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \
+       $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rmt.m4 \
+       $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/rtapelib.m4 \
+       $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \
+       $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \
+       $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \
+       $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \
+       $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stdarg.m4 \
+       $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stdint.m4 \
+       $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/stpcpy.m4 \
+       $(top_srcdir)/m4/strcase.m4 $(top_srcdir)/m4/strchrnul.m4 \
+       $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
+       $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \
+       $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
+       $(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \
+       $(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \
+       $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
+       $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
+       $(top_srcdir)/m4/sysexits.m4 $(top_srcdir)/m4/system.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
+       $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlinkdir.m4 \
+       $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \
+       $(top_srcdir)/m4/utime.m4 $(top_srcdir)/m4/utimens.m4 \
+       $(top_srcdir)/m4/utimes-null.m4 $(top_srcdir)/m4/utimes.m4 \
+       $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vsnprintf.m4 \
+       $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wchar_t.m4 \
+       $(top_srcdir)/m4/wctype.m4 $(top_srcdir)/m4/wcwidth.m4 \
+       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/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)/configure.ac
@@ -192,7 +195,13 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
-EOVERFLOW = @EOVERFLOW@
+EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
+EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
+ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
+ENOLINK_VALUE = @ENOLINK_VALUE@
+EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
+EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
+ERRNO_H = @ERRNO_H@
 EXEEXT = @EXEEXT@
 FCNTL_H = @FCNTL_H@
 FLOAT_H = @FLOAT_H@
@@ -202,30 +211,47 @@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CHOWN = @GNULIB_CHOWN@
+GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DIRFD = @GNULIB_DIRFD@
 GNULIB_DUP2 = @GNULIB_DUP2@
 GNULIB_ENVIRON = @GNULIB_ENVIRON@
+GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
 GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
 GNULIB_FFLUSH = @GNULIB_FFLUSH@
 GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
 GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
 GNULIB_FREOPEN = @GNULIB_FREOPEN@
 GNULIB_FSEEK = @GNULIB_FSEEK@
 GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSYNC = @GNULIB_FSYNC@
 GNULIB_FTELL = @GNULIB_FTELL@
 GNULIB_FTELLO = @GNULIB_FTELLO@
 GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FWRITE = @GNULIB_FWRITE@
 GNULIB_GETCWD = @GNULIB_GETCWD@
 GNULIB_GETDELIM = @GNULIB_GETDELIM@
+GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
+GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
 GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
+GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
 GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
 GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
@@ -246,15 +272,26 @@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
 GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
 GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
 GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
+GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READLINK = @GNULIB_READLINK@
 GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SETENV = @GNULIB_SETENV@
 GNULIB_SLEEP = @GNULIB_SLEEP@
 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
 GNULIB_STPCPY = @GNULIB_STPCPY@
 GNULIB_STPNCPY = @GNULIB_STPNCPY@
 GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
@@ -270,25 +307,35 @@ GNULIB_STRSTR = @GNULIB_STRSTR@
 GNULIB_STRTOD = @GNULIB_STRTOD@
 GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
 GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
 GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
+GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNSETENV = @GNULIB_UNSETENV@
 GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
 GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
 GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
 GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
 GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
 GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WRITE = @GNULIB_WRITE@
 GREP = @GREP@
+HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
+HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
-HAVE_DECL_MKDIR = @HAVE_DECL_MKDIR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
@@ -302,22 +349,31 @@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
 HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
 HAVE_DUP2 = @HAVE_DUP2@
+HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
 HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSYNC = @HAVE_FSYNC@
 HAVE_FTELLO = @HAVE_FTELLO@
 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
+HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
-HAVE_IO_H = @HAVE_IO_H@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LCHMOD = @HAVE_LCHMOD@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
 HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
 HAVE_MEMPCPY = @HAVE_MEMPCPY@
 HAVE_MKDTEMP = @HAVE_MKDTEMP@
 HAVE_OS_H = @HAVE_OS_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
+HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
+HAVE_RPMATCH = @HAVE_RPMATCH@
 HAVE_SETENV = @HAVE_SETENV@
 HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
 HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
@@ -333,10 +389,15 @@ HAVE_STRNDUP = @HAVE_STRNDUP@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRSEP = @HAVE_STRSEP@
 HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
+HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
@@ -378,6 +439,7 @@ MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
 NEXT_DIRENT_H = @NEXT_DIRENT_H@
+NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_FLOAT_H = @NEXT_FLOAT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
@@ -403,13 +465,16 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 POSUB = @POSUB@
+PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
 PRIPTR_PREFIX = @PRIPTR_PREFIX@
 PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 PU_RMT_PROG = @PU_RMT_PROG@
 RANLIB = @RANLIB@
 REPLACE_CHOWN = @REPLACE_CHOWN@
+REPLACE_CLOSE = @REPLACE_CLOSE@
 REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
@@ -422,18 +487,25 @@ REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
 REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
 REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_PERROR = @REPLACE_PERROR@
 REPLACE_PRINTF = @REPLACE_PRINTF@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
 REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
 REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
 REPLACE_STRPTIME = @REPLACE_STRPTIME@
 REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
@@ -446,6 +518,7 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WRITE = @REPLACE_WRITE@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
@@ -461,6 +534,7 @@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 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@
+UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 VOID_UNSETENV = @VOID_UNSETENV@
index 8f8b43f26b3aab91e5eff8807928b28428a795f5..5f5457a95571e531a027179b511fdb0c41763d69 100644 (file)
@@ -1,7 +1,7 @@
 /* Buffer management for tar.
 
    Copyright (C) 1988, 1992, 1993, 1994, 1996, 1997, 1999, 2000, 2001,
-   2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+   2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
    Written by John Gilmore, on 1985-08-25.
 
 #include <rmt.h>
 
 /* Number of retries before giving up on read.  */
-#define        READ_ERROR_MAX 10
+#define READ_ERROR_MAX 10
 
 /* Globbing pattern to append to volume label if initial match failed.  */
 #define VOLUME_LABEL_APPEND " Volume [1-9]*"
 
 /* Variables.  */
 
-static tarlong prev_written;   /* bytes written on previous volumes */
-static tarlong bytes_written;  /* bytes written on this volume */
-static void *record_buffer[2]; /* allocated memory */
+static tarlong prev_written;    /* bytes written on previous volumes */
+static tarlong bytes_written;   /* bytes written on this volume */
+static void *record_buffer[2];  /* allocated memory */
 union block *record_buffer_aligned[2];
 static int record_index;
 
 /* FIXME: The following variables should ideally be static to this
    module.  However, this cannot be done yet.  The cleanup continues!  */
 
-union block *record_start;     /* start of record of archive */
-union block *record_end;       /* last+1 block of archive record */
-union block *current_block;    /* current block of archive */
-enum access_mode access_mode;  /* how do we handle the archive */
-off_t records_read;            /* number of records read from this archive */
-off_t records_written;         /* likewise, for records written */
+union block *record_start;      /* start of record of archive */
+union block *record_end;        /* last+1 block of archive record */
+union block *current_block;     /* current block of archive */
+enum access_mode access_mode;   /* how do we handle the archive */
+off_t records_read;             /* number of records read from this archive */
+off_t records_written;          /* likewise, for records written */
 extern off_t records_skipped;   /* number of records skipped at the start
-                                  of the archive, defined in delete.c */   
+                                   of the archive, defined in delete.c */   
 
 static off_t record_start_block; /* block ordinal at record_start */
 
@@ -96,10 +96,10 @@ uintmax_t continued_file_size;
 uintmax_t continued_file_offset;
 
 \f
-static int volno = 1;          /* which volume of a multi-volume tape we're
-                                  on */
-static int global_volno = 1;   /* volume number to print in external
-                                  messages */
+static int volno = 1;           /* which volume of a multi-volume tape we're
+                                   on */
+static int global_volno = 1;    /* volume number to print in external
+                                   messages */
 
 bool write_archive_to_stdout;
 
@@ -111,11 +111,11 @@ static off_t real_s_sizeleft;
 
 \f
 /* Multi-volume tracking support */
-static char *save_name;                /* name of the file we are currently writing */
-static off_t save_totsize;     /* total size of file we are writing, only
-                                  valid if save_name is nonzero */
-static off_t save_sizeleft;    /* where we are in the file we are writing,
-                                  only valid if save_name is nonzero */
+static char *save_name;         /* name of the file we are currently writing */
+static off_t save_totsize;      /* total size of file we are writing, only
+                                   valid if save_name is nonzero */
+static off_t save_sizeleft;     /* where we are in the file we are writing,
+                                   only valid if save_name is nonzero */
 
 \f
 static struct tar_stat_info dummy;
@@ -190,7 +190,7 @@ compute_duration ()
   struct timespec now;
   gettime (&now);
   duration += ((now.tv_sec - last_stat_time.tv_sec)
-              + (now.tv_nsec - last_stat_time.tv_nsec) / 1e9);
+               + (now.tv_nsec - last_stat_time.tv_nsec) / 1e9);
   gettime (&last_stat_time);
 }
 
@@ -198,11 +198,13 @@ compute_duration ()
 /* Compression detection */
 
 enum compress_type {
-  ct_none,
+  ct_tar,              /* Plain tar file */
+  ct_none,             /* Unknown compression type */
   ct_compress,
   ct_gzip,
   ct_bzip2,
-  ct_lzma
+  ct_lzma,
+  ct_lzop
 };
 
 struct zip_magic
@@ -215,11 +217,13 @@ struct zip_magic
 };
 
 static struct zip_magic const magic[] = {
+  { ct_tar },
   { ct_none, },
   { ct_compress, 2, "\037\235", "compress", "-Z" },
   { ct_gzip,     2, "\037\213", "gzip", "-z"  },
   { ct_bzip2,    3, "BZh",      "bzip2", "-j" },
-  { ct_lzma,     6, "\xFFLZMA", "lzma", "--lzma" }, /* FIXME: ???? */
+  { ct_lzma,     6, "\xFFLZMA", "lzma", "-J" }, /* FIXME: ???? */
+  { ct_lzop,     4, "\211LZO",  "lzop", "--lzop" },
 };
 
 #define NMAGIC (sizeof(magic)/sizeof(magic[0]))
@@ -242,7 +246,7 @@ check_compressed_archive (bool *pshort)
   record_end = record_start; /* set up for 1st record = # 0 */
   sfr = read_full_records;
   read_full_records = true; /* Suppress fatal error on reading a partial
-                              record */
+                               record */
   *pshort = find_next_block () == 0;
   
   /* Restore global values */
@@ -250,9 +254,9 @@ check_compressed_archive (bool *pshort)
 
   if (tar_checksum (record_start, true) == HEADER_SUCCESS)
     /* Probably a valid header */
-    return ct_none;
+    return ct_tar;
 
-  for (p = magic + 1; p < magic + NMAGIC; p++)
+  for (p = magic + 2; p < magic + NMAGIC; p++)
     if (memcmp (record_start->buffer, p->magic, p->length) == 0)
       return p->type;
 
@@ -266,30 +270,45 @@ int
 open_compressed_archive ()
 {
   archive = rmtopen (archive_name_array[0], O_RDONLY | O_BINARY,
-                    MODE_RW, rsh_command_option);
+                     MODE_RW, rsh_command_option);
   if (archive == -1)
     return archive;
 
   if (!multi_volume_option)
     {
-      bool shortfile;
-      enum compress_type type = check_compressed_archive (&shortfile);
-
-      if (type == ct_none)
-       {
-         if (shortfile)
-           ERROR ((0, 0, _("This does not look like a tar archive")));
-         return archive;
-       }
+      if (!use_compress_program_option)
+        {
+          bool shortfile;
+          enum compress_type type = check_compressed_archive (&shortfile);
+
+          switch (type)
+            {
+            case ct_tar:
+              if (shortfile)
+                ERROR ((0, 0, _("This does not look like a tar archive")));
+              return archive;
+      
+            case ct_none:
+              if (shortfile)
+                ERROR ((0, 0, _("This does not look like a tar archive")));
+              set_comression_program_by_suffix (archive_name_array[0], NULL);
+              if (!use_compress_program_option)
+                return archive;
+              break;
+
+            default:
+              use_compress_program_option = compress_program (type);
+              break;
+            }
+        }
       
       /* FD is not needed any more */
       rmtclose (archive);
 
       hit_eof = false; /* It might have been set by find_next_block in
-                         check_compressed_archive */
+                          check_compressed_archive */
 
       /* Open compressed archive */
-      use_compress_program_option = compress_program (type);
       child_pid = sys_child_open_for_uncompress ();
       read_full_records = true;
     }
@@ -313,11 +332,11 @@ print_stats (FILE *fp, const char *text, tarlong numbytes)
   sprintf (bytes, TARLONG_FORMAT, numbytes);
 
   fprintf (fp, "%s: %s (%s, %s/s)\n",
-          text, bytes,
-          human_readable (numbytes, abbr, human_opts, 1, 1),
-          (0 < duration && numbytes / duration < (uintmax_t) -1
-           ? human_readable (numbytes / duration, rate, human_opts, 1, 1)
-           : "?"));
+           text, bytes,
+           human_readable (numbytes, abbr, human_opts, 1, 1),
+           (0 < duration && numbytes / duration < (uintmax_t) -1
+            ? human_readable (numbytes / duration, rate, human_opts, 1, 1)
+            : "?"));
 }
 
 void
@@ -331,20 +350,20 @@ print_total_stats ()
     case APPEND_SUBCOMMAND:
       /* Amanda 2.4.1p1 looks for "Total bytes written: [0-9][0-9]*".  */
       print_stats (stderr, _("Total bytes written"),
-                  prev_written + bytes_written);
+                   prev_written + bytes_written);
       break;
 
     case DELETE_SUBCOMMAND:
       {
-       char buf[UINTMAX_STRSIZE_BOUND];
-       print_stats (stderr, _("Total bytes read"),
-                    records_read * record_size);
-       print_stats (stderr, _("Total bytes written"),
-                    prev_written + bytes_written);
-       fprintf (stderr, _("Total bytes deleted: %s\n"),
-                STRINGIFY_BIGINT ((records_read - records_skipped)
-                                   * record_size
-                                  - (prev_written + bytes_written), buf));
+        char buf[UINTMAX_STRSIZE_BOUND];
+        print_stats (stderr, _("Total bytes read"),
+                     records_read * record_size);
+        print_stats (stderr, _("Total bytes written"),
+                     prev_written + bytes_written);
+        fprintf (stderr, _("Total bytes deleted: %s\n"),
+                 STRINGIFY_BIGINT ((records_read - records_skipped)
+                                    * record_size
+                                   - (prev_written + bytes_written), buf));
       }
       break;
 
@@ -352,7 +371,7 @@ print_total_stats ()
     case LIST_SUBCOMMAND:
     case DIFF_SUBCOMMAND:
       print_stats (stderr, _("Total bytes read"),
-                  records_read * record_size);
+                   records_read * record_size);
       break;
 
     default:
@@ -389,13 +408,13 @@ find_next_block (void)
   if (current_block == record_end)
     {
       if (hit_eof)
-       return 0;
+        return 0;
       flush_archive ();
       if (current_block == record_end)
-       {
-         hit_eof = true;
-         return 0;
-       }
+        {
+          hit_eof = true;
+          return 0;
+        }
     }
   return current_block;
 }
@@ -475,96 +494,103 @@ _open_archive (enum access_mode wanted_access)
   if (use_compress_program_option)
     {
       switch (wanted_access)
-       {
-       case ACCESS_READ:
-         child_pid = sys_child_open_for_uncompress ();
-         read_full_records = true;
-         record_end = record_start; /* set up for 1st record = # 0 */
-         break;
-
-       case ACCESS_WRITE:
-         child_pid = sys_child_open_for_compress ();
-         break;
-
-       case ACCESS_UPDATE:
-         abort (); /* Should not happen */
-         break;
-       }
+        {
+        case ACCESS_READ:
+          child_pid = sys_child_open_for_uncompress ();
+          read_full_records = true;
+          record_end = record_start; /* set up for 1st record = # 0 */
+          break;
+
+        case ACCESS_WRITE:
+          child_pid = sys_child_open_for_compress ();
+          break;
+
+        case ACCESS_UPDATE:
+          abort (); /* Should not happen */
+          break;
+        }
 
       if (!index_file_name
-         && wanted_access == ACCESS_WRITE
-         && strcmp (archive_name_array[0], "-") == 0)
-       stdlis = stderr;
+          && wanted_access == ACCESS_WRITE
+          && strcmp (archive_name_array[0], "-") == 0)
+        stdlis = stderr;
     }
   else if (strcmp (archive_name_array[0], "-") == 0)
     {
       read_full_records = true; /* could be a pipe, be safe */
       if (verify_option)
-       FATAL_ERROR ((0, 0, _("Cannot verify stdin/stdout archive")));
+        FATAL_ERROR ((0, 0, _("Cannot verify stdin/stdout archive")));
 
       switch (wanted_access)
-       {
-       case ACCESS_READ:
-         {
-           bool shortfile;
-           enum compress_type type;
-
-           archive = STDIN_FILENO;
-
-           type = check_compressed_archive (&shortfile);
-           if (type != ct_none)
-             FATAL_ERROR ((0, 0,
-                           _("Archive is compressed. Use %s option"),
-                           compress_option (type)));
-           if (shortfile)
-             ERROR ((0, 0, _("This does not look like a tar archive")));
-         }
-         break;
-
-       case ACCESS_WRITE:
-         archive = STDOUT_FILENO;
-         if (!index_file_name)
-           stdlis = stderr;
-         break;
-
-       case ACCESS_UPDATE:
-         archive = STDIN_FILENO;
-         write_archive_to_stdout = true;
-         record_end = record_start; /* set up for 1st record = # 0 */
-         if (!index_file_name)
-           stdlis = stderr;
-         break;
-       }
+        {
+        case ACCESS_READ:
+          {
+            bool shortfile;
+            enum compress_type type;
+
+            archive = STDIN_FILENO;
+
+            type = check_compressed_archive (&shortfile);
+            if (type != ct_tar && type != ct_none)
+              FATAL_ERROR ((0, 0,
+                            _("Archive is compressed. Use %s option"),
+                            compress_option (type)));
+            if (shortfile)
+              ERROR ((0, 0, _("This does not look like a tar archive")));
+          }
+          break;
+
+        case ACCESS_WRITE:
+          archive = STDOUT_FILENO;
+          if (!index_file_name)
+            stdlis = stderr;
+          break;
+
+        case ACCESS_UPDATE:
+          archive = STDIN_FILENO;
+          write_archive_to_stdout = true;
+          record_end = record_start; /* set up for 1st record = # 0 */
+          if (!index_file_name)
+            stdlis = stderr;
+          break;
+        }
     }
   else if (verify_option)
     archive = rmtopen (archive_name_array[0], O_RDWR | O_CREAT | O_BINARY,
-                      MODE_RW, rsh_command_option);
+                       MODE_RW, rsh_command_option);
   else
     switch (wanted_access)
       {
       case ACCESS_READ:
-       archive = open_compressed_archive ();
-       break;
+        archive = open_compressed_archive ();
+        break;
 
       case ACCESS_WRITE:
-       if (backup_option)
-         {
-           maybe_backup_file (archive_name_array[0], 1);
-           backed_up_flag = 1;
-         }
-       archive = rmtcreat (archive_name_array[0], MODE_RW,
-                           rsh_command_option);
-       break;
+        if (backup_option)
+          {
+            maybe_backup_file (archive_name_array[0], 1);
+            backed_up_flag = 1;
+          }
+        archive = rmtcreat (archive_name_array[0], MODE_RW,
+                            rsh_command_option);
+        break;
 
       case ACCESS_UPDATE:
-       archive = rmtopen (archive_name_array[0],
-                          O_RDWR | O_CREAT | O_BINARY,
-                          MODE_RW, rsh_command_option);
-
-       if (check_compressed_archive (NULL) != ct_none)
-         FATAL_ERROR ((0, 0,
-                       _("Cannot update compressed archives")));
-       break;
+        archive = rmtopen (archive_name_array[0],
+                           O_RDWR | O_CREAT | O_BINARY,
+                           MODE_RW, rsh_command_option);
+
+        switch (check_compressed_archive (NULL))
+          {
+          case ct_none:
+          case ct_tar:
+            break;
+
+          default:
+            FATAL_ERROR ((0, 0,
+                          _("Cannot update compressed archives")));
+          }
+        break;
       }
 
   if (archive < 0
@@ -573,7 +599,7 @@ _open_archive (enum access_mode wanted_access)
       int saved_errno = errno;
 
       if (backed_up_flag)
-       undo_last_backup ();
+        undo_last_backup ();
       errno = saved_errno;
       open_fatal (archive_name_array[0]);
     }
@@ -585,7 +611,7 @@ _open_archive (enum access_mode wanted_access)
   switch (wanted_access)
     {
     case ACCESS_READ:
-      find_next_block ();      /* read it in, check for EOF */
+      find_next_block ();       /* read it in, check for EOF */
       break;
 
     case ACCESS_UPDATE:
@@ -654,53 +680,49 @@ archive_read_error (void)
 static void
 short_read (size_t status)
 {
-  size_t left;                 /* bytes left */
-  char *more;                  /* pointer to next byte to read */
+  size_t left;                  /* bytes left */
+  char *more;                   /* pointer to next byte to read */
 
   more = record_start->buffer + status;
   left = record_size - status;
 
+  if (left && left % BLOCKSIZE == 0
+      && verbose_option
+      && record_start_block == 0 && status != 0)
+    {
+      unsigned long rsize = status / BLOCKSIZE;
+      WARN ((0, 0,
+             ngettext ("Record size = %lu block",
+                       "Record size = %lu blocks",
+                       rsize),
+             rsize));
+    }
+
   while (left % BLOCKSIZE != 0
-        || (left && status && read_full_records))
+         || (left && status && read_full_records))
     {
       if (status)
-       while ((status = rmtread (archive, more, left)) == SAFE_READ_ERROR)
-         archive_read_error ();
+        while ((status = rmtread (archive, more, left)) == SAFE_READ_ERROR)
+          archive_read_error ();
 
       if (status == 0)
-       break;
+        break;
 
       if (! read_full_records)
-       {
-         unsigned long rest = record_size - left;
+        {
+          unsigned long rest = record_size - left;
 
-         FATAL_ERROR ((0, 0,
-                       ngettext ("Unaligned block (%lu byte) in archive",
-                                 "Unaligned block (%lu bytes) in archive",
-                                 rest),
-                       rest));
-       }
-
-      /* User warned us about this.  Fix up.  */
+          FATAL_ERROR ((0, 0,
+                        ngettext ("Unaligned block (%lu byte) in archive",
+                                  "Unaligned block (%lu bytes) in archive",
+                                  rest),
+                        rest));
+        }
 
       left -= status;
       more += status;
     }
 
-  /* FIXME: for size=0, multi-volume support.  On the first record, warn
-     about the problem.  */
-
-  if (!read_full_records && verbose_option > 1
-      && record_start_block == 0 && status != 0)
-    {
-      unsigned long rsize = (record_size - left) / BLOCKSIZE;
-      WARN ((0, 0,
-            ngettext ("Record size = %lu block",
-                      "Record size = %lu blocks",
-                      rsize),
-            rsize));
-    }
-
   record_end = record_start + (record_size - left) / BLOCKSIZE;
   records_read++;
 }
@@ -765,16 +787,16 @@ backspace_output (void)
       position = 0;
     if (rmtlseek (archive, position, SEEK_SET) != position)
       {
-       /* Lseek failed.  Try a different method.  */
+        /* Lseek failed.  Try a different method.  */
 
-       WARN ((0, 0,
-              _("Cannot backspace archive file; it may be unreadable without -i")));
+        WARN ((0, 0,
+               _("Cannot backspace archive file; it may be unreadable without -i")));
 
-       /* Replace the first part of the record with NULs.  */
+        /* Replace the first part of the record with NULs.  */
 
-       if (record_start->buffer != output_start)
-         memset (record_start->buffer, 0,
-                 output_start - record_start->buffer);
+        if (record_start->buffer != output_start)
+          memset (record_start->buffer, 0,
+                  output_start - record_start->buffer);
       }
   }
 }
@@ -823,11 +845,9 @@ close_archive (void)
     {
       flush_archive ();
       if (current_block > record_start)
-       flush_archive ();
+        flush_archive ();
     }
 
-  sys_drain_input_pipe ();
-
   compute_duration ();
   if (verify_option)
     verify_volume ();
@@ -835,7 +855,7 @@ close_archive (void)
   if (rmtclose (archive) != 0)
     close_error (*archive_name_cursor);
 
-  sys_wait_for_child (child_pid);
+  sys_wait_for_child (child_pid, hit_eof);
 
   tar_stat_destroy (&current_stat_info);
   if (save_name)
@@ -855,13 +875,13 @@ init_volume_number (void)
   if (file)
     {
       if (fscanf (file, "%d", &global_volno) != 1
-         || global_volno < 0)
-       FATAL_ERROR ((0, 0, _("%s: contains invalid volume number"),
-                     quotearg_colon (volno_file_option)));
+          || global_volno < 0)
+        FATAL_ERROR ((0, 0, _("%s: contains invalid volume number"),
+                      quotearg_colon (volno_file_option)));
       if (ferror (file))
-       read_error (volno_file_option);
+        read_error (volno_file_option);
       if (fclose (file) != 0)
-       close_error (volno_file_option);
+        close_error (volno_file_option);
     }
   else if (errno != ENOENT)
     open_error (volno_file_option);
@@ -877,9 +897,9 @@ closeout_volume_number (void)
     {
       fprintf (file, "%d\n", global_volno);
       if (ferror (file))
-       write_error (volno_file_option);
+        write_error (volno_file_option);
       if (fclose (file) != 0)
-       close_error (volno_file_option);
+        close_error (volno_file_option);
     }
   else
     open_error (volno_file_option);
@@ -906,92 +926,92 @@ change_tape_menu (FILE *read_file)
     {
       fputc ('\007', stderr);
       fprintf (stderr,
-              _("Prepare volume #%d for %s and hit return: "),
-              global_volno + 1, quote (*archive_name_cursor));
+               _("Prepare volume #%d for %s and hit return: "),
+               global_volno + 1, quote (*archive_name_cursor));
       fflush (stderr);
 
       if (getline (&input_buffer, &size, read_file) <= 0)
-       {
-         WARN ((0, 0, _("EOF where user reply was expected")));
+        {
+          WARN ((0, 0, _("EOF where user reply was expected")));
 
-         if (subcommand_option != EXTRACT_SUBCOMMAND
-             && subcommand_option != LIST_SUBCOMMAND
-             && subcommand_option != DIFF_SUBCOMMAND)
-           WARN ((0, 0, _("WARNING: Archive is incomplete")));
+          if (subcommand_option != EXTRACT_SUBCOMMAND
+              && subcommand_option != LIST_SUBCOMMAND
+              && subcommand_option != DIFF_SUBCOMMAND)
+            WARN ((0, 0, _("WARNING: Archive is incomplete")));
 
-         fatal_exit ();
-       }
+          fatal_exit ();
+        }
 
       if (input_buffer[0] == '\n'
-         || input_buffer[0] == 'y'
-         || input_buffer[0] == 'Y')
-       break;
+          || input_buffer[0] == 'y'
+          || input_buffer[0] == 'Y')
+        break;
 
       switch (input_buffer[0])
-       {
-       case '?':
-         {
-           fprintf (stderr, _("\
+        {
+        case '?':
+          {
+            fprintf (stderr, _("\
  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"));
             if (!restrict_option)
               fprintf (stderr, _(" !             Spawn a subshell\n"));
-           fprintf (stderr, _(" ?             Print this list\n"));
-         }
-         break;
-
-       case 'q':
-         /* Quit.  */
-
-         WARN ((0, 0, _("No new volume; exiting.\n")));
-
-         if (subcommand_option != EXTRACT_SUBCOMMAND
-             && subcommand_option != LIST_SUBCOMMAND
-             && subcommand_option != DIFF_SUBCOMMAND)
-           WARN ((0, 0, _("WARNING: Archive is incomplete")));
-
-         fatal_exit ();
-
-       case 'n':
-         /* Get new file name.  */
-
-         {
-           char *name;
-           char *cursor;
-
-           for (name = input_buffer + 1;
-                *name == ' ' || *name == '\t';
-                name++)
-             ;
-
-           for (cursor = name; *cursor && *cursor != '\n'; cursor++)
-             ;
-           *cursor = '\0';
-
-           if (name[0])
-             {
-               /* FIXME: the following allocation is never reclaimed.  */
-               *archive_name_cursor = xstrdup (name);
-               stop = true;
-             }
-           else
-             fprintf (stderr, "%s",
-                      _("File name not specified. Try again.\n"));
-         }
-         break;
-
-       case '!':
-         if (!restrict_option)
-           {
-             sys_spawn_shell ();
-             break;
-           }
-         /* FALL THROUGH */
-
-       default:
-         fprintf (stderr, _("Invalid input. Type ? for help.\n"));
-       }
+            fprintf (stderr, _(" ?             Print this list\n"));
+          }
+          break;
+
+        case 'q':
+          /* Quit.  */
+
+          WARN ((0, 0, _("No new volume; exiting.\n")));
+
+          if (subcommand_option != EXTRACT_SUBCOMMAND
+              && subcommand_option != LIST_SUBCOMMAND
+              && subcommand_option != DIFF_SUBCOMMAND)
+            WARN ((0, 0, _("WARNING: Archive is incomplete")));
+
+          fatal_exit ();
+
+        case 'n':
+          /* Get new file name.  */
+
+          {
+            char *name;
+            char *cursor;
+
+            for (name = input_buffer + 1;
+                 *name == ' ' || *name == '\t';
+                 name++)
+              ;
+
+            for (cursor = name; *cursor && *cursor != '\n'; cursor++)
+              ;
+            *cursor = '\0';
+
+            if (name[0])
+              {
+                /* FIXME: the following allocation is never reclaimed.  */
+                *archive_name_cursor = xstrdup (name);
+                stop = true;
+              }
+            else
+              fprintf (stderr, "%s",
+                       _("File name not specified. Try again.\n"));
+          }
+          break;
+
+        case '!':
+          if (!restrict_option)
+            {
+              sys_spawn_shell ();
+              break;
+            }
+          /* FALL THROUGH */
+
+        default:
+          fprintf (stderr, _("Invalid input. Type ? for help.\n"));
+        }
     }
   free (input_buffer);
 }
@@ -1037,15 +1057,15 @@ new_volume (enum access_mode mode)
       /* We have to prompt from now on.  */
 
       if (info_script_option)
-       {
-         if (volno_file_option)
-           closeout_volume_number ();
-         if (sys_exec_info_script (archive_name_cursor, global_volno+1))
-           FATAL_ERROR ((0, 0, _("%s command failed"),
-                         quote (info_script_option)));
-       }
+        {
+          if (volno_file_option)
+            closeout_volume_number ();
+          if (sys_exec_info_script (archive_name_cursor, global_volno+1))
+            FATAL_ERROR ((0, 0, _("%s command failed"),
+                          quote (info_script_option)));
+        }
       else
-       change_tape_menu (read_file);
+        change_tape_menu (read_file);
     }
 
   if (strcmp (archive_name_cursor[0], "-") == 0)
@@ -1055,33 +1075,33 @@ new_volume (enum access_mode mode)
     }
   else if (verify_option)
     archive = rmtopen (*archive_name_cursor, O_RDWR | O_CREAT, MODE_RW,
-                      rsh_command_option);
+                       rsh_command_option);
   else
     switch (mode)
       {
       case ACCESS_READ:
-       archive = rmtopen (*archive_name_cursor, O_RDONLY, MODE_RW,
-                          rsh_command_option);
-       break;
+        archive = rmtopen (*archive_name_cursor, O_RDONLY, MODE_RW,
+                           rsh_command_option);
+        break;
 
       case ACCESS_WRITE:
-       if (backup_option)
-         maybe_backup_file (*archive_name_cursor, 1);
-       archive = rmtcreat (*archive_name_cursor, MODE_RW,
-                           rsh_command_option);
-       break;
+        if (backup_option)
+          maybe_backup_file (*archive_name_cursor, 1);
+        archive = rmtcreat (*archive_name_cursor, MODE_RW,
+                            rsh_command_option);
+        break;
 
       case ACCESS_UPDATE:
-       archive = rmtopen (*archive_name_cursor, O_RDWR | O_CREAT, MODE_RW,
-                          rsh_command_option);
-       break;
+        archive = rmtopen (*archive_name_cursor, O_RDWR | O_CREAT, MODE_RW,
+                           rsh_command_option);
+        break;
       }
 
   if (archive < 0)
     {
       open_warn (*archive_name_cursor);
       if (!verify_option && mode == ACCESS_WRITE && backup_option)
-       undo_last_backup ();
+        undo_last_backup ();
       prompt = 1;
       goto tryagain;
     }
@@ -1131,7 +1151,7 @@ try_new_volume ()
     return true;
   
   while ((status = rmtread (archive, record_start->buffer, record_size))
-        == SAFE_READ_ERROR)
+         == SAFE_READ_ERROR)
     archive_read_error ();
 
   if (status != record_size)
@@ -1145,40 +1165,40 @@ try_new_volume ()
     {
     case XGLTYPE:
       {
-       if (!read_header0 (&dummy))
-         return false;
-       xheader_decode (&dummy); /* decodes values from the global header */
-       tar_stat_destroy (&dummy);
-       if (!real_s_name)
-         {
-           /* We have read the extended header of the first member in
-              this volume. Put it back, so next read_header works as
-              expected. */
-           current_block = record_start;
-         }
-       break;
+        if (!read_header0 (&dummy))
+          return false;
+        xheader_decode (&dummy); /* decodes values from the global header */
+        tar_stat_destroy (&dummy);
+        if (!real_s_name)
+          {
+            /* We have read the extended header of the first member in
+               this volume. Put it back, so next read_header works as
+               expected. */
+            current_block = record_start;
+          }
+        break;
       }
 
     case GNUTYPE_VOLHDR:
       if (!read_header0 (&dummy))
-       return false;
+        return false;
       tar_stat_destroy (&dummy);
       assign_string (&volume_label, current_header->header.name);
       set_next_block_after (header);
       header = find_next_block ();
       if (header->header.typeflag != GNUTYPE_MULTIVOL)
-       break;
+        break;
       /* FALL THROUGH */
 
     case GNUTYPE_MULTIVOL:
       if (!read_header0 (&dummy))
-       return false;
+        return false;
       tar_stat_destroy (&dummy);
       assign_string (&continued_file_name, current_header->header.name);
       continued_file_size =
-       UINTMAX_FROM_HEADER (current_header->header.size);
+        UINTMAX_FROM_HEADER (current_header->header.size);
       continued_file_offset =
-       UINTMAX_FROM_HEADER (current_header->oldgnu_header.offset);
+        UINTMAX_FROM_HEADER (current_header->oldgnu_header.offset);
       break;
 
     default:
@@ -1189,44 +1209,52 @@ try_new_volume ()
     {
       uintmax_t s;
       if (!continued_file_name
-         || strcmp (continued_file_name, real_s_name))
-       {
-         if ((archive_format == GNU_FORMAT || archive_format == OLDGNU_FORMAT)
-             && strlen (real_s_name) >= NAME_FIELD_SIZE
-             && strncmp (continued_file_name, real_s_name,
-                         NAME_FIELD_SIZE) == 0)
-           WARN ((0, 0,
+          || strcmp (continued_file_name, real_s_name))
+        {
+          if ((archive_format == GNU_FORMAT || archive_format == OLDGNU_FORMAT)
+              && strlen (real_s_name) >= NAME_FIELD_SIZE
+              && strncmp (continued_file_name, real_s_name,
+                          NAME_FIELD_SIZE) == 0)
+            WARN ((0, 0,
  _("%s is possibly continued on this volume: header contains truncated name"),
-                  quote (real_s_name)));
-         else
-           {
-             WARN ((0, 0, _("%s is not continued on this volume"),
-                    quote (real_s_name)));
-             return false;
-           }
-       }
+                   quote (real_s_name)));
+          else
+            {
+              WARN ((0, 0, _("%s is not continued on this volume"),
+                     quote (real_s_name)));
+              return false;
+            }
+        }
 
       s = continued_file_size + continued_file_offset;
 
       if (real_s_totsize != s || s < continued_file_offset)
-       {
-         char totsizebuf[UINTMAX_STRSIZE_BOUND];
-         char s1buf[UINTMAX_STRSIZE_BOUND];
-         char s2buf[UINTMAX_STRSIZE_BOUND];
-
-         WARN ((0, 0, _("%s is the wrong size (%s != %s + %s)"),
-                quote (continued_file_name),
-                STRINGIFY_BIGINT (save_totsize, totsizebuf),
-                STRINGIFY_BIGINT (continued_file_size, s1buf),
-                STRINGIFY_BIGINT (continued_file_offset, s2buf)));
-         return false;
-       }
+        {
+          char totsizebuf[UINTMAX_STRSIZE_BOUND];
+          char s1buf[UINTMAX_STRSIZE_BOUND];
+          char s2buf[UINTMAX_STRSIZE_BOUND];
+
+          WARN ((0, 0, _("%s is the wrong size (%s != %s + %s)"),
+                 quote (continued_file_name),
+                 STRINGIFY_BIGINT (save_totsize, totsizebuf),
+                 STRINGIFY_BIGINT (continued_file_size, s1buf),
+                 STRINGIFY_BIGINT (continued_file_offset, s2buf)));
+          return false;
+        }
 
       if (real_s_totsize - real_s_sizeleft != continued_file_offset)
-       {
-         WARN ((0, 0, _("This volume is out of sequence")));
-         return false;
-       }
+        {
+          char totsizebuf[UINTMAX_STRSIZE_BOUND];
+          char s1buf[UINTMAX_STRSIZE_BOUND];
+          char s2buf[UINTMAX_STRSIZE_BOUND];
+
+          WARN ((0, 0, _("This volume is out of sequence (%s - %s != %s)"),
+                 STRINGIFY_BIGINT (real_s_totsize, totsizebuf),
+                 STRINGIFY_BIGINT (real_s_sizeleft, s1buf),
+                 STRINGIFY_BIGINT (continued_file_offset, s2buf)));
+         
+          return false;
+        }
     }
 
   increase_volume_number ();
@@ -1254,7 +1282,7 @@ check_label_pattern (union block *label)
     return false;
 
   string = xmalloc (strlen (volume_label_option)
-                   + sizeof VOLUME_LABEL_APPEND + 1);
+                    + sizeof VOLUME_LABEL_APPEND + 1);
   strcpy (string, volume_label_option);
   strcat (string, VOLUME_LABEL_APPEND);
   result = fnmatch (string, label->header.name, 0) == 0;
@@ -1271,11 +1299,11 @@ match_volume_label (void)
 
   if (!label)
     FATAL_ERROR ((0, 0, _("Archive not labeled to match %s"),
-                 quote (volume_label_option)));
+                  quote (volume_label_option)));
   if (!check_label_pattern (label))
     FATAL_ERROR ((0, 0, _("Volume %s does not match %s"),
-                 quote_n (0, label->header.name),
-                 quote_n (1, volume_label_option)));
+                  quote_n (0, label->header.name),
+                  quote_n (1, volume_label_option)));
 }
 
 /* Mark the archive with volume label STR. */
@@ -1290,11 +1318,11 @@ _write_volume_label (const char *str)
 
       memset (label, 0, BLOCKSIZE);
 
-      strcpy (label->header.name, volume_label_option);
+      strcpy (label->header.name, str);
       assign_string (&current_stat_info.file_name,
-                    label->header.name);
+                     label->header.name);
       current_stat_info.had_trailing_slash =
-       strip_trailing_slashes (current_stat_info.file_name);
+        strip_trailing_slashes (current_stat_info.file_name);
 
       label->header.typeflag = GNUTYPE_VOLHDR;
       TIME_TO_CHARS (start_time.tv_sec, label->header.mtime);
@@ -1312,7 +1340,7 @@ add_volume_label (void)
   char buf[UINTMAX_STRSIZE_BOUND];
   char *p = STRINGIFY_BIGINT (volno, buf);
   char *s = xmalloc (strlen (volume_label_option) + sizeof VOL_SUFFIX
-                    + strlen (p) + 2);
+                     + strlen (p) + 2);
   sprintf (s, "%s %s %s", volume_label_option, VOL_SUFFIX, p);
   _write_volume_label (s);
   free (s);
@@ -1335,15 +1363,15 @@ add_chunk_header ()
       st.stat.st_uid = getuid ();
       st.stat.st_gid = getgid ();
       st.orig_file_name = xheader_format_name (&st,
-                                              "%d/GNUFileParts.%p/%f.%n",
-                                              real_s_part_no);
+                                               "%d/GNUFileParts.%p/%f.%n",
+                                               real_s_part_no);
       st.file_name = st.orig_file_name;
       st.archive_file_size = st.stat.st_size = real_s_sizeleft;
 
       block_ordinal = current_block_ordinal ();
       blk = start_header (&st);
       if (!blk)
-       abort (); /* FIXME */
+        abort (); /* FIXME */
       finish_header (&st, blk, block_ordinal);
       free (st.orig_file_name);
     }
@@ -1369,8 +1397,8 @@ gnu_add_multi_volume_header (void)
 
   if (strlen (real_s_name) > NAME_FIELD_SIZE)
     WARN ((0, 0,
-          _("%s: file name too long to be stored in a GNU multivolume header, truncated"),
-          quotearg_colon (real_s_name)));
+           _("%s: file name too long to be stored in a GNU multivolume header, truncated"),
+           quotearg_colon (real_s_name)));
 
   memset (block, 0, BLOCKSIZE);
 
@@ -1383,7 +1411,7 @@ gnu_add_multi_volume_header (void)
 
   OFF_TO_CHARS (real_s_sizeleft, block->header.size);
   OFF_TO_CHARS (real_s_totsize - real_s_sizeleft,
-               block->oldgnu_header.offset);
+                block->oldgnu_header.offset);
 
   tmp = verbose_option;
   verbose_option = 0;
@@ -1415,19 +1443,19 @@ multi_volume_sync ()
   if (multi_volume_option)
     {
       if (save_name)
-       {
-         assign_string (&real_s_name,
-                        safer_name_suffix (save_name, false,
-                                           absolute_names_option));
-         real_s_totsize = save_totsize;
-         real_s_sizeleft = save_sizeleft;
-       }
+        {
+          assign_string (&real_s_name,
+                         safer_name_suffix (save_name, false,
+                                            absolute_names_option));
+          real_s_totsize = save_totsize;
+          real_s_sizeleft = save_sizeleft;
+        }
       else
-       {
-         assign_string (&real_s_name, 0);
-         real_s_totsize = 0;
-         real_s_sizeleft = 0;
-       }
+        {
+          assign_string (&real_s_name, 0);
+          real_s_totsize = 0;
+          real_s_sizeleft = 0;
+        }
     }
 }
 
@@ -1438,14 +1466,14 @@ multi_volume_sync ()
 static void
 simple_flush_read (void)
 {
-  size_t status;               /* result from system call */
+  size_t status;                /* result from system call */
 
   checkpoint_run (false);
   
   /* Clear the count of errors.  This only applies to a single call to
      flush_read.  */
 
-  read_error_count = 0;                /* clear error count */
+  read_error_count = 0;         /* clear error count */
 
   if (write_archive_to_stdout && record_start_block != 0)
     {
@@ -1453,22 +1481,22 @@ simple_flush_read (void)
       status = sys_write_archive_buffer ();
       archive = STDIN_FILENO;
       if (status != record_size)
-       archive_write_error (status);
+        archive_write_error (status);
     }
 
   for (;;)
     {
       status = rmtread (archive, record_start->buffer, record_size);
       if (status == record_size)
-       {
-         records_read++;
-         return;
-       }
+        {
+          records_read++;
+          return;
+        }
       if (status == SAFE_READ_ERROR)
-       {
-         archive_read_error ();
-         continue;             /* try again */
-       }
+        {
+          archive_read_error ();
+          continue;             /* try again */
+        }
       break;
     }
   short_read (status);
@@ -1497,14 +1525,14 @@ simple_flush_write (size_t level __attribute__((unused)))
 static void
 _gnu_flush_read (void)
 {
-  size_t status;               /* result from system call */
+  size_t status;                /* result from system call */
 
   checkpoint_run (false);
   
   /* Clear the count of errors.  This only applies to a single call to
      flush_read.  */
 
-  read_error_count = 0;                /* clear error count */
+  read_error_count = 0;         /* clear error count */
 
   if (write_archive_to_stdout && record_start_block != 0)
     {
@@ -1512,7 +1540,7 @@ _gnu_flush_read (void)
       status = sys_write_archive_buffer ();
       archive = STDIN_FILENO;
       if (status != record_size)
-       archive_write_error (status);
+        archive_write_error (status);
     }
 
   multi_volume_sync ();
@@ -1521,29 +1549,32 @@ _gnu_flush_read (void)
     {
       status = rmtread (archive, record_start->buffer, record_size);
       if (status == record_size)
-       {
-         records_read++;
-         return;
-       }
+        {
+          records_read++;
+          return;
+        }
 
       /* The condition below used to include
-             || (status > 0 && !read_full_records)
-        This is incorrect since even if new_volume() succeeds, the
-        subsequent call to rmtread will overwrite the chunk of data
-        already read in the buffer, so the processing will fail */
+              || (status > 0 && !read_full_records)
+         This is incorrect since even if new_volume() succeeds, the
+         subsequent call to rmtread will overwrite the chunk of data
+         already read in the buffer, so the processing will fail */
       if ((status == 0
-          || (status == SAFE_READ_ERROR && errno == ENOSPC))
-         && multi_volume_option)
-       {
-         while (!try_new_volume ())
-           ;
-         return;
-       }
+           || (status == SAFE_READ_ERROR && errno == ENOSPC))
+          && multi_volume_option)
+        {
+          while (!try_new_volume ())
+            ;
+         if (current_block == record_end)
+           /* Necessary for blocking_factor == 1 */
+           flush_archive();
+          return;
+        }
       else if (status == SAFE_READ_ERROR)
-       {
-         archive_read_error ();
-         continue;
-       }
+        {
+          archive_read_error ();
+          continue;
+        }
       break;
     }
   short_read (status);
@@ -1565,13 +1596,15 @@ _gnu_flush_write (size_t buffer_level)
   char *copy_ptr;
   size_t copy_size;
   size_t bufsize;
-
+  tarlong wrt;
+  
   status = _flush_write ();
   if (status != record_size && !multi_volume_option)
     archive_write_error (status);
   else
     {
-      records_written++;
+      if (status)
+        records_written++; 
       bytes_written += status;
     }
 
@@ -1581,11 +1614,18 @@ _gnu_flush_write (size_t buffer_level)
       return;
     }
 
+  if (status % BLOCKSIZE)
+    {
+      ERROR ((0, 0, _("write did not end on a block boundary")));
+      archive_write_error (status);
+    }
+  
   /* In multi-volume mode. */
   /* ENXIO is for the UNIX PC.  */
   if (status < 0 && errno != ENOSPC && errno != EIO && errno != ENXIO)
     archive_write_error (status);
 
+  real_s_sizeleft -= status;
   if (!new_volume (ACCESS_WRITE))
     return;
 
@@ -1597,6 +1637,7 @@ _gnu_flush_write (size_t buffer_level)
 
   copy_ptr = record_start->buffer + status;
   copy_size = buffer_level - status;
+                   
   /* Switch to the next buffer */
   record_index = !record_index;
   init_buffer ();
@@ -1612,6 +1653,7 @@ _gnu_flush_write (size_t buffer_level)
   
   if (real_s_name)
     add_chunk_header ();
+  wrt = bytes_written;
   header = find_next_block ();
   bufsize = available_space_after (header);
   while (bufsize < copy_size)
@@ -1626,6 +1668,16 @@ _gnu_flush_write (size_t buffer_level)
   memcpy (header->buffer, copy_ptr, copy_size);
   memset (header->buffer + copy_size, 0, bufsize - copy_size);
   set_next_block_after (header + (copy_size - 1) / BLOCKSIZE);
+  if (multi_volume_option && wrt < bytes_written)
+    {
+      /* The value of bytes_written has changed while moving data;
+         that means that flush_archive was executed at least once in
+         between, and, as a consequence, copy_size bytes were not written
+         to disk.  We need to update sizeleft variables to compensate for
+         that. */
+      save_sizeleft += copy_size;
+      multi_volume_sync ();
+    }
   find_next_block ();
 }
 
@@ -1660,13 +1712,13 @@ open_archive (enum access_mode wanted_access)
     {
     case ACCESS_READ:
       if (volume_label_option)
-       match_volume_label ();
+        match_volume_label ();
       break;
 
     case ACCESS_WRITE:
       records_written = 0;
       if (volume_label_option)
-       write_volume_label ();
+        write_volume_label ();
       break;
 
     default:
index cde5e590284e74cc0ca1208febc72a234830de25..9f031f7e277f5247efe944d8bfedb8d95e62abef 100644 (file)
@@ -80,7 +80,7 @@ checkpoint_compile_action (const char *str)
   
   if (strcmp (str, ".") == 0 || strcmp (str, "dot") == 0)
     alloc_action (cop_dot);
-  if (strcmp (str, "bell") == 0)
+  else if (strcmp (str, "bell") == 0)
     alloc_action (cop_bell);
   else if (strcmp (str, "echo") == 0)
     alloc_action (cop_echo);
index f43673b328978f26bc8ea893ef7c4b94552f3fdc..9897b46c4c104a79a978fc04361f848669680342 100644 (file)
@@ -93,9 +93,6 @@ GLOBAL enum subcommand subcommand_option;
 /* Selected format for output archive.  */
 GLOBAL enum archive_format archive_format;
 
-/* Either NL or NUL, as decided by the --null option.  */
-GLOBAL char filename_terminator;
-
 /* Size of each record, once in blocks, once in bytes.  Those two variables
    are always related, the second being BLOCKSIZE times the first.  They do
    not have _option in their name, even if their values is derived from
@@ -702,8 +699,7 @@ char *xheader_format_name (struct tar_stat_info *st, const char *fmt,
 
 void sys_detect_dev_null_output (void);
 void sys_save_archive_dev_ino (void);
-void sys_drain_input_pipe (void);
-void sys_wait_for_child (pid_t);
+void sys_wait_for_child (pid_t, bool);
 void sys_spawn_shell (void);
 bool sys_compare_uid (struct stat *a, struct stat *b);
 bool sys_compare_gid (struct stat *a, struct stat *b);
@@ -738,17 +734,16 @@ bool string_ascii_p (const char *str);
 bool utf8_convert (bool to_utf, char const *input, char **output);
 
 /* Module transform.c */
-typedef enum
-  {
-    xform_regfile,
-    xform_link,
-    xform_symlink
-  } xform_type;
+#define XFORM_REGFILE  0x01
+#define XFORM_LINK     0x02
+#define XFORM_SYMLINK  0x04
+#define XFORM_ALL      (XFORM_REGFILE|XFORM_LINK|XFORM_SYMLINK)
 
 void set_transform_expr (const char *expr);
-bool transform_name (char **pinput);
-bool transform_member_name (char **pinput, xform_type type);
-bool transform_name_fp (char **pinput, char *(*fun)(char *, void *), void *);
+bool transform_name (char **pinput, int type);
+bool transform_member_name (char **pinput, int type);
+bool transform_name_fp (char **pinput, int type,
+                       char *(*fun)(char *, void *), void *);
 
 /* Module suffix.c */
 void set_comression_program_by_suffix (const char *name, const char *defprog);
index 413115cf06e974834f39f0f551f5b10fd420c1cc..a925160e1be90c5b5b0cab7cc301a3ec3e7135fc 100644 (file)
@@ -1041,7 +1041,7 @@ dump_regular_file (int fd, struct tar_stat_info *st)
   while (size_left > 0)
     {
       size_t bufsize, count;
-
+      
       mv_size_left (size_left);
 
       blk = find_next_block ();
@@ -1495,7 +1495,7 @@ dump_file0 (struct tar_stat_info *st, const char *p,
   assign_string (&st->file_name,
                  safer_name_suffix (p, false, absolute_names_option));
 
-  transform_name (&st->file_name);
+  transform_name (&st->file_name, XFORM_REGFILE);
 
   if (deref_stat (dereference_option, p, &st->stat) != 0)
     {
@@ -1705,7 +1705,7 @@ dump_file0 (struct tar_stat_info *st, const char *p,
        }
       buffer[size] = '\0';
       assign_string (&st->link_name, buffer);
-      transform_name (&st->link_name);
+      transform_name (&st->link_name, XFORM_SYMLINK);
       if (NAME_FIELD_SIZE - (archive_format == OLDGNU_FORMAT) < size)
        write_long_link (st);
 
index 0d938e63798a1142a1b7253bd415aa8f94d14b52..6d703980c3235b9b4244ecb825bad70460b97486 100644 (file)
@@ -917,7 +917,6 @@ extract_link (char *file_name, int typeflag)
   int interdir_made = 0;
   char const *link_name;
 
-  transform_member_name (&current_stat_info.link_name, xform_link);
   link_name = current_stat_info.link_name;
   
   if (! absolute_names_option && contains_dot_dot (link_name))
@@ -974,8 +973,6 @@ extract_symlink (char *file_name, int typeflag)
   int status;
   int interdir_made = 0;
 
-  transform_member_name (&current_stat_info.link_name, xform_symlink);
-
   if (! absolute_names_option
       && (IS_ABSOLUTE_FILE_NAME (current_stat_info.link_name)
          || contains_dot_dot (current_stat_info.link_name)))
index 372061dd12a3aadb4f51524482e7066107dd6df9..7e1e36641e74b71b74d3d2f879adda761b0c24a9 100644 (file)
@@ -60,6 +60,7 @@ struct dumpdir                 /* Dump directory listing */
 /* Directory attributes.  */
 struct directory
   {
+    struct directory *next;
     struct timespec mtime;      /* Modification time */
     dev_t device_number;       /* device number for directory */
     ino_t inode_number;                /* inode number for directory */
@@ -72,7 +73,7 @@ struct directory
                                   the original directory structure */
     const char *tagfile;        /* Tag file, if the directory falls under
                                   exclusion_tag_under */
-    char name[1];              /* file name of directory */
+    char *name;                        /* file name of directory */
   };
 
 struct dumpdir *
@@ -80,13 +81,14 @@ dumpdir_create0 (const char *contents, const char *cmask)
 {
   struct dumpdir *dump;
   size_t i, total, ctsize, len;
-  const char *p;
+  char *p;
+  const char *q;
   
-  for (i = 0, total = 0, ctsize = 1, p = contents; *p; total++, p += len)
+  for (i = 0, total = 0, ctsize = 1, q = contents; *q; total++, q += len)
     {
-      len = strlen (p) + 1;
+      len = strlen (q) + 1;
       ctsize += len;
-      if (!cmask || strchr (cmask, *p))
+      if (!cmask || strchr (cmask, *q))
        i++;
     }
   dump = xmalloc (sizeof (*dump) + ctsize);
@@ -196,6 +198,7 @@ dumpdir_size (const char *p)
 }
 
 \f
+static struct directory *dirhead, *dirtail;
 static Hash_table *directory_table;
 static Hash_table *directory_meta_table;
 
@@ -247,18 +250,68 @@ static struct directory *
 make_directory (const char *name)
 {
   size_t namelen = strlen (name);
-  size_t size = offsetof (struct directory, name) + namelen + 1;
-  struct directory *directory = xmalloc (size);
+  struct directory *directory = xmalloc (sizeof (*directory));
+  directory->next = NULL;
   directory->dump = directory->idump = NULL;
   directory->orig = NULL;
   directory->flags = false;
-  strcpy (directory->name, name);
-  if (namelen && ISSLASH (directory->name[namelen - 1]))
-    directory->name[namelen - 1] = 0;
+  if (namelen && ISSLASH (name[namelen - 1]))
+    namelen--;
+  directory->name = xmalloc (namelen + 1);
+  memcpy (directory->name, name, namelen);
+  directory->name[namelen] = 0;
   directory->tagfile = NULL;
   return directory;
 }
 
+static void
+free_directory (struct directory *dir)
+{
+  free (dir->name);
+  free (dir);
+}
+
+static struct directory *
+attach_directory (const char *name)
+{
+  struct directory *dir = make_directory (name);
+  if (dirtail)
+    dirtail->next = dir;
+  else
+    dirhead = dir;
+  dirtail = dir;
+  return dir;
+}
+                
+\f
+static void
+replace_prefix (char **pname, const char *samp, size_t slen,
+               const char *repl, size_t rlen)
+{
+  char *name = *pname;
+  size_t nlen = strlen (name);
+  if (nlen > slen && memcmp (name, samp, slen) == 0 && ISSLASH (name[slen]))
+    {
+      if (rlen > slen)
+       {
+         name = xrealloc (name, nlen - slen + rlen + 1);
+         *pname = name;
+       }
+      memmove (name + rlen, name + slen, nlen - slen + 1);
+      memcpy (name, repl, rlen);
+    }
+}
+
+void
+dirlist_replace_prefix (const char *pref, const char *repl)
+{
+  struct directory *dp;
+  size_t pref_len = strlen (pref);
+  size_t repl_len = strlen (repl);
+  for (dp = dirhead; dp; dp = dp->next)
+    replace_prefix (&dp->name, pref, pref_len, repl, repl_len);
+}
+
 /* Create and link a new directory entry for directory NAME, having a
    device number DEV and an inode number INO, with NFS indicating
    whether it is an NFS device and FOUND indicating whether we have
@@ -268,7 +321,7 @@ note_directory (char const *name, struct timespec mtime,
                dev_t dev, ino_t ino, bool nfs, bool found,
                const char *contents)
 {
-  struct directory *directory = make_directory (name);
+  struct directory *directory = attach_directory (name);
 
   directory->mtime = mtime;
   directory->device_number = dev;
@@ -311,7 +364,7 @@ find_directory (const char *name)
     {
       struct directory *dir = make_directory (name);
       struct directory *ret = hash_lookup (directory_table, dir);
-      free (dir);
+      free_directory (dir);
       return ret;
     }
 }
@@ -330,7 +383,7 @@ find_directory_meta (dev_t dev, ino_t ino)
       dir->device_number = dev;
       dir->inode_number = ino;
       ret = hash_lookup (directory_meta_table, dir);
-      free (dir);
+      free_directory (dir);
       return ret;
     }
 }
@@ -386,12 +439,16 @@ procdir (char *name_buffer, struct stat *stat_data,
                                                     stat_data->st_ino);
          if (d)
            {
-             if (verbose_option)
-               WARN ((0, 0, _("%s: Directory has been renamed from %s"),
-                      quotearg_colon (name_buffer),
-                      quote_n (1, d->name)));
-             directory->orig = d;
-             DIR_SET_FLAG (directory, DIRF_RENAMED);
+             if (strcmp (d->name, name_buffer))
+               {
+                 if (verbose_option)
+                   WARN ((0, 0, _("%s: Directory has been renamed from %s"),
+                          quotearg_colon (name_buffer),
+                          quote_n (1, d->name)));
+                 directory->orig = d;
+                 DIR_SET_FLAG (directory, DIRF_RENAMED);
+                 dirlist_replace_prefix (d->name, name_buffer);
+               }
              directory->children = CHANGED_CHILDREN;
            }
          else
@@ -426,12 +483,16 @@ procdir (char *name_buffer, struct stat *stat_data,
 
       if (d)
        {
-         if (verbose)
-           WARN ((0, 0, _("%s: Directory has been renamed from %s"),
-                  quotearg_colon (name_buffer),
-                  quote_n (1, d->name)));
-         directory->orig = d;
-         DIR_SET_FLAG (directory, DIRF_RENAMED);
+         if (strcmp (d->name, name_buffer))
+           {
+             if (verbose)
+               WARN ((0, 0, _("%s: Directory has been renamed from %s"),
+                      quotearg_colon (name_buffer),
+                      quote_n (1, d->name)));
+             directory->orig = d;
+             DIR_SET_FLAG (directory, DIRF_RENAMED);
+             dirlist_replace_prefix (d->name, name_buffer);
+           }
          directory->children = CHANGED_CHILDREN;
        }
       else
@@ -701,12 +762,9 @@ obstack_code_rename (struct obstack *stk, char *from, char *to)
   obstack_grow (stk, s, strlen (s) + 1);
 }
 
-static bool
-rename_handler (void *data, void *proc_data)
+static void
+store_rename (struct directory *dir, struct obstack *stk)
 {
-  struct directory *dir = data;
-  struct obstack *stk = proc_data;
-
   if (DIR_IS_RENAMED (dir))
     {
       struct directory *prev, *p;
@@ -745,7 +803,6 @@ rename_handler (void *data, void *proc_data)
          obstack_code_rename (stk, "", prev->name);
        }
     }
-  return true;
 }
 
 const char *
@@ -753,8 +810,9 @@ append_incremental_renames (const char *dump)
 {
   struct obstack stk;
   size_t size;
-
-  if (directory_table == NULL)
+  struct directory *dp;
+  
+  if (dirhead == NULL)
     return dump;
 
   obstack_init (&stk);
@@ -766,7 +824,9 @@ append_incremental_renames (const char *dump)
   else
     size = 0;
 
-  hash_do_for_each (directory_table, rename_handler, &stk);
+  for (dp = dirhead; dp; dp = dp->next)
+    store_rename (dp, &stk);
+
   if (obstack_object_size (&stk) != size)
     {
       obstack_1grow (&stk, 0);
index b17f604303f60dac99f8c14f14338d0cf0091f82..98c1e396b3547cb22a5ac590bb24d03b03a9b521 100644 (file)
@@ -472,11 +472,11 @@ read_header (bool raw_extended_headers)
 static char *
 decode_xform (char *file_name, void *data)
 {
-  xform_type type = *(xform_type*)data;
+  int type = *(int*)data;
 
   switch (type)
     {
-    case xform_symlink:
+    case XFORM_SYMLINK:
       /* FIXME: It is not quite clear how and to which extent are the symbolic
         links subject to filename transformation.  In the absence of another
         solution, symbolic links are exempt from component stripping and
@@ -484,11 +484,11 @@ decode_xform (char *file_name, void *data)
         proper. */ 
       return file_name;
       
-    case xform_link:
+    case XFORM_LINK:
       file_name = safer_name_suffix (file_name, true, absolute_names_option);
       break;
       
-    case xform_regfile:
+    case XFORM_REGFILE:
       file_name = safer_name_suffix (file_name, false, absolute_names_option);
       break;
     }
@@ -505,9 +505,9 @@ decode_xform (char *file_name, void *data)
 }
 
 bool
-transform_member_name (char **pinput, xform_type type)
+transform_member_name (char **pinput, int type)
 {
-  return transform_name_fp (pinput, decode_xform, &type);
+  return transform_name_fp (pinput, type, decode_xform, &type);
 }
 
 #define ISOCTAL(c) ((c)>='0'&&(c)<='7')
@@ -628,7 +628,16 @@ decode_header (union block *header, struct tar_stat_info *stat_info,
        stat_info->is_dumpdir = true;
     }
 
-  transform_member_name (&stat_info->file_name, xform_regfile);
+  transform_member_name (&stat_info->file_name, XFORM_REGFILE);
+  switch (header->header.typeflag)
+    {
+    case SYMTYPE:
+      transform_member_name (&stat_info->link_name, XFORM_SYMLINK);
+      break;
+      
+    case LNKTYPE:
+      transform_member_name (&stat_info->link_name, XFORM_LINK);
+    }
 }
 
 /* Convert buffer at WHERE0 of size DIGS from external format to
index 73b8741858e70335c0d99c211919143cf78b1cff..05f89b15d19ab615c793c7dcc4709a436c294ac0 100644 (file)
@@ -289,9 +289,8 @@ static int matching_flags; /* exclude_fnmatch options */
    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.  If filename_terminator
-   is NUL, CHANGE_DIRS is effectively always false.
-
+   the request to change to the given directory.
+   
    Entries of type NELT_FMASK cause updates of the matching_flags
    value. */
 struct name_elt *
@@ -301,9 +300,6 @@ name_next_elt (int change_dirs)
   const char *source;
   char *cursor;
 
-  if (filename_terminator == '\0')
-    change_dirs = 0;
-
   while (name_index != names)
     {
       struct name_elt *ep;
@@ -392,9 +388,7 @@ name_gather (void)
       if (allocated_size == 0)
        {
          allocated_size = offsetof (struct name, name) + NAME_FIELD_SIZE + 1;
-         buffer = xmalloc (allocated_size);
-         /* FIXME: This memset is overkill, and ugly...  */
-         memset (buffer, 0, allocated_size);
+         buffer = xzalloc (allocated_size);
        }
       
       while ((ep = name_next_elt (0)) && ep->type == NELT_CHDIR)
index fcf229798badb877575b19f67eca695102d9f0a7..986f34761e65946155312972d09fefbdd9c76994 100644 (file)
@@ -39,6 +39,7 @@ struct compression_suffix compression_suffixes[] = {
   { S(tz2, bzip2) },
   { S(lzma, lzma) },
   { S(tlz, lzma) },
+  { S(lzo, lzop) },
 #undef S
 };
 
index e57e6dafb6398e6b65d3a5cfb5e4b11fa5445112..c90a40d1217b0441571604ead5f9af839675793c 100644 (file)
@@ -1,6 +1,7 @@
 /* System-dependent calls for tar.
 
-   Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2004, 2005, 2006, 2007,
+   2008 Free Software Foundation, Inc.
 
    This 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
@@ -51,12 +52,7 @@ sys_detect_dev_null_output (void)
 }
 
 void
-sys_drain_input_pipe (void)
-{
-}
-
-void
-sys_wait_for_child (pid_t child_pid)
+sys_wait_for_child (pid_t child_pid, bool eof)
 {
 }
 
@@ -160,26 +156,8 @@ sys_detect_dev_null_output (void)
                         && archive_stat.st_ino == dev_null_stat.st_ino));
 }
 
-/* Manage to fully drain a pipe we might be reading, so to not break it on
-   the producer after the EOF block.  FIXME: one of these days, GNU tar
-   might become clever enough to just stop working, once there is no more
-   work to do, we might have to revise this area in such time.  */
-
-void
-sys_drain_input_pipe (void)
-{
-  size_t r;
-
-  if (access_mode == ACCESS_READ
-      && ! _isrmt (archive)
-      && (S_ISFIFO (archive_stat.st_mode) || S_ISSOCK (archive_stat.st_mode)))
-    while ((r = rmtread (archive, record_start->buffer, record_size)) != 0
-          && r != SAFE_READ_ERROR)
-      continue;
-}
-
 void
-sys_wait_for_child (pid_t child_pid)
+sys_wait_for_child (pid_t child_pid, bool eof)
 {
   if (child_pid)
     {
@@ -193,8 +171,11 @@ sys_wait_for_child (pid_t child_pid)
          }
 
       if (WIFSIGNALED (wait_status))
-       ERROR ((0, 0, _("Child died with signal %d"),
-               WTERMSIG (wait_status)));
+       {
+         int sig = WTERMSIG (wait_status);
+         if (!(!eof && sig == SIGPIPE))
+           ERROR ((0, 0, _("Child died with signal %d"), sig));
+       }
       else if (WEXITSTATUS (wait_status) != 0)
        ERROR ((0, 0, _("Child returned status %d"),
                WEXITSTATUS (wait_status)));
index 4a58a74b4280bbe6f042be4421c66178875cbfa1..ae0c739f01aa2bbe77a73c6d962dbd96cf4663bf 100644 (file)
--- a/src/tar.c
+++ b/src/tar.c
@@ -271,15 +271,17 @@ enum
   IGNORE_FAILED_READ_OPTION,
   INDEX_FILE_OPTION,
   KEEP_NEWER_FILES_OPTION,
-  LZMA_OPTION,
+  LZOP_OPTION,
   MODE_OPTION,
   MTIME_OPTION,
   NEWER_MTIME_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,
@@ -350,7 +352,7 @@ The version control may be set with --backup or VERSION_CONTROL, values are:\n\n
 
 /* NOTE:
 
-   Available option letters are DEIJQY and eqy. Consider the following
+   Available option letters are DEIQY and eqy. Consider the following
    assignments:
 
    [For Solaris tar compatibility =/= Is it important at all?]
@@ -592,6 +594,9 @@ static struct argp_option options[] = {
    N_("Compression options:"), GRID },
   {"auto-compress", 'a', 0, 0,
    N_("use archive suffix to determine the compression program"), GRID+1 },
+  {"no-auto-compress", NO_AUTO_COMPRESS_OPTION, 0, 0,
+   N_("do not use use archive suffix to determine the compression program"),
+   GRID+1 },
   {"bzip2", 'j', 0, 0,
    N_("filter the archive through bzip2"), GRID+1 },
   {"gzip", 'z', 0, 0,
@@ -601,8 +606,10 @@ static struct argp_option options[] = {
   {"compress", 'Z', 0, 0,
    N_("filter the archive through compress"), GRID+1 },
   {"uncompress", 0, 0, OPTION_ALIAS, NULL, GRID+1 },
-  {"lzma", LZMA_OPTION, 0, 0,
+  {"lzma", 'J', 0, 0,
    N_("filter the archive through lzma"), GRID+1 },
+  {"lzop", LZOP_OPTION, 0, 0,
+   N_("filter the archive through lzop"), GRID+8 },
   {"use-compress-program", USE_COMPRESS_PROGRAM_OPTION, N_("PROG"), 0,
    N_("filter through PROG (must accept -d)"), GRID+1 },
 #undef GRID
@@ -619,6 +626,8 @@ static struct argp_option options[] = {
    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 filenames read with -T (default)"), GRID+1 },
   {"no-unquote", NO_UNQUOTE_OPTION, 0, 0,
@@ -677,6 +686,7 @@ static struct argp_option options[] = {
    GRID+1 },
   {"transform", TRANSFORM_OPTION, N_("EXPRESSION"), 0,
    N_("use sed replace EXPRESSION to transform file names"), GRID+1 },
+  {"xform", 0, 0, OPTION_ALIAS, NULL, GRID+1 },
 #undef GRID
 
 #define GRID 120
@@ -849,6 +859,16 @@ exclude_vcs_files ()
     "=RELEASE-ID",
     "=meta-update",
     "=update",
+    /* Bazaar */
+    ".bzr",
+    ".bzrignore",
+    ".bzrtags",
+    /* Mercurial */
+    ".hg",
+    ".hgignore",
+    ".hgtags",
+    /* darcs */
+    "_darcs",
     NULL
   };
 
@@ -1029,6 +1049,9 @@ report_textual_dates (struct tar_args *args)
 \f
 static volatile int _argp_hang;
 
+/* Either NL or NUL, as decided by the --null option.  */
+static char filename_terminator;
+
 enum read_file_list_state  /* Result of reading file name from the list file */
   {
     file_list_success,     /* OK, name read successfully */
@@ -1037,16 +1060,16 @@ enum read_file_list_state  /* Result of reading file name from the list file */
     file_list_skip         /* Empty (zero-length) entry encountered, skip it */
   };
 
-/* Read from FP a sequence of characters up to FILENAME_TERMINATOR and put them
+/* Read from FP a sequence of characters up to TERM and put them
    into STK.
  */
 static enum read_file_list_state
-read_name_from_file (FILE *fp, struct obstack *stk)
+read_name_from_file (FILE *fp, struct obstack *stk, int term)
 {
   int c;
   size_t counter = 0;
 
-  for (c = getc (fp); c != EOF && c != filename_terminator; c = getc (fp))
+  for (c = getc (fp); c != EOF && c != term; c = getc (fp))
     {
       if (c == 0)
        {
@@ -1127,7 +1150,8 @@ update_argv (const char *filename, struct argp_state *state)
   size_t new_argc;
   bool is_stdin = false;
   enum read_file_list_state read_state;
-
+  int term = filename_terminator;
+  
   if (!strcmp (filename, "-"))
     {
       is_stdin = true;
@@ -1141,7 +1165,8 @@ update_argv (const char *filename, struct argp_state *state)
        open_fatal (filename);
     }
 
-  while ((read_state = read_name_from_file (fp, &argv_stk)) != file_list_end)
+  while ((read_state = read_name_from_file (fp, &argv_stk, term))
+        != file_list_end)
     {
       switch (read_state)
        {
@@ -1170,7 +1195,7 @@ update_argv (const char *filename, struct argp_state *state)
            obstack_1grow (&argv_stk, 0);
            count = 1;
            /* Read rest of files using new filename terminator */
-           filename_terminator = 0;
+           term = 0;
            break;
          }
 
@@ -1187,7 +1212,7 @@ update_argv (const char *filename, struct argp_state *state)
 
   start = obstack_finish (&argv_stk);
 
-  if (filename_terminator == 0)
+  if (term == 0)
     for (p = start; *p; p += strlen (p) + 1)
       if (p[0] == '-')
        count++;
@@ -1203,7 +1228,7 @@ update_argv (const char *filename, struct argp_state *state)
 
   for (i = state->next, p = start; *p; p += strlen (p) + 1, i++)
     {
-      if (filename_terminator == 0 && p[0] == '-')
+      if (term == 0 && p[0] == '-')
        state->argv[i++] = "--add-file";
       state->argv[i] = p;
     }
@@ -1252,6 +1277,10 @@ parse_opt (int key, char *arg, struct argp_state *state)
     case 'a':
       args->compress_autodetect = true;
       break;
+
+    case NO_AUTO_COMPRESS_OPTION:
+      args->compress_autodetect = false;
+      break;
       
     case 'b':
       {
@@ -1345,6 +1374,10 @@ parse_opt (int key, char *arg, struct argp_state *state)
       set_use_compress_program_option ("bzip2");
       break;
 
+    case 'J':
+      set_use_compress_program_option ("lzma");
+      break;
+      
     case 'k':
       /* Don't replace existing files.  */
       old_files_option = KEEP_OLD_FILES;
@@ -1376,8 +1409,8 @@ parse_opt (int key, char *arg, struct argp_state *state)
       }
       break;
 
-    case LZMA_OPTION:
-      set_use_compress_program_option ("lzma");
+    case LZOP_OPTION:
+      set_use_compress_program_option ("lzop");
       break;
       
     case 'm':
@@ -1721,6 +1754,10 @@ parse_opt (int key, char *arg, struct argp_state *state)
       filename_terminator = '\0';
       break;
 
+    case NO_NULL_OPTION:
+      filename_terminator = '\n';
+      break;
+
     case NUMERIC_OWNER_OPTION:
       numeric_owner_option = true;
       break;
@@ -1783,6 +1820,8 @@ parse_opt (int key, char *arg, struct argp_state *state)
       /* 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:
@@ -2307,6 +2346,13 @@ decode_options (int argc, char **argv)
   else if (utc_option)
     verbose_option = 2;
 
+  if (tape_length_option && tape_length_option < record_size)
+    USAGE_ERROR ((0, 0, _("Volume length cannot be less than record size")));
+
+  if (same_order_option && listed_incremental_option)
+    USAGE_ERROR ((0, 0, _("--preserve-order is not compatible with "
+                         "--listed-incremental")));
+  
   /* Forbid using -c with no input files whatsoever.  Check that `-f -',
      explicit or implied, is used correctly.  */
 
@@ -2480,7 +2526,7 @@ main (int argc, char **argv)
   name_term ();
 
   if (exit_status == TAREXIT_FAILURE)
-    error (0, 0, _("Error exit delayed from previous errors"));
+    error (0, 0, _("Exiting with failure status due to previous errors"));
 
   if (stdlis == stdout)
     close_stdout ();
index fc3eb48779c599f345bb495fb50ddef94c8926fb..2e0de318618bf2236d0bc624c5d6be863079b5cc 100644 (file)
@@ -61,6 +61,7 @@ struct transform
 {
   struct transform *next;
   enum transform_type transform_type;
+  int flags;
   unsigned match_number;
   regex_t regex;
   /* Compiled replacement expression */
@@ -69,6 +70,8 @@ struct transform
 };
 
 \f
+
+int transform_flags = XFORM_ALL;
 static struct transform *transform_head, *transform_tail;
 
 static struct transform *
@@ -131,6 +134,41 @@ add_backref_segment (struct transform *tf, size_t ref)
   segm->v.ref = ref;
 }
 
+static int
+parse_xform_flags (int *pflags, int c)
+{
+  switch (c)
+    {
+    case 'r':
+      *pflags |= XFORM_REGFILE;
+      break;
+
+    case 'R':
+      *pflags &= ~XFORM_REGFILE;
+      break;
+       
+    case 'h':
+      *pflags |= XFORM_LINK;
+      break;
+
+    case 'H':
+      *pflags &= ~XFORM_LINK;
+      break;
+       
+    case 's':
+      *pflags |= XFORM_SYMLINK;
+      break;
+
+    case 'S':
+      *pflags &= ~XFORM_SYMLINK;
+      break;
+
+    default:
+      return 1;
+    }
+  return 0;
+}
+
 static void
 add_case_ctl_segment (struct transform *tf, enum case_ctl_type ctl)
 {
@@ -150,8 +188,26 @@ parse_transform_expr (const char *expr)
   struct transform *tf = new_transform ();
 
   if (expr[0] != 's')
-    USAGE_ERROR ((0, 0, _("Invalid transform expression")));
-
+    {
+      if (strncmp (expr, "flags=", 6) == 0)
+       {
+         transform_flags = 0;
+         for (expr += 6; *expr; expr++)
+           {
+             if (*expr == ';')
+               {
+                 expr++;
+                 break;
+               }
+             if (parse_xform_flags (&transform_flags, *expr))
+               USAGE_ERROR ((0, 0, _("Unknown transform flag: %c"),
+                             *expr));
+           }
+         return expr;
+       }         
+      USAGE_ERROR ((0, 0, _("Invalid transform expression")));
+    }
+  
   delim = expr[1];
 
   /* Scan regular expression */
@@ -172,6 +228,7 @@ parse_transform_expr (const char *expr)
 
   /* Check flags */
   tf->transform_type = transform_first;
+  tf->flags = transform_flags;
   for (p = expr + j + 1; *p && *p != ';'; p++)
     switch (*p)
       {
@@ -186,7 +243,7 @@ parse_transform_expr (const char *expr)
       case 'x':
        cflags |= REG_EXTENDED;
        break;
-       
+
       case '0': case '1': case '2': case '3': case '4':
       case '5': case '6': case '7': case '8': case '9':
        tf->match_number = strtoul (p, (char**) &p, 0);
@@ -194,8 +251,9 @@ parse_transform_expr (const char *expr)
        break;
 
       default:
-       USAGE_ERROR ((0, 0, _("Unknown flag in transform expression: %c"),
-                     *p));
+       if (parse_xform_flags (&tf->flags, *p))
+         USAGE_ERROR ((0, 0, _("Unknown flag in transform expression: %c"),
+                       *p));
       }
 
   if (*p == ';')
@@ -520,10 +578,11 @@ _single_transform_name_to_obstack (struct transform *tf, char *input)
 }
 
 bool
-_transform_name_to_obstack (char *input, char **output)
+_transform_name_to_obstack (int flags, char *input, char **output)
 {
   struct transform *tf;
-
+  bool alloced = false;
+  
   if (!stk_init)
     {
       obstack_init (&stk);
@@ -532,18 +591,23 @@ _transform_name_to_obstack (char *input, char **output)
   
   for (tf = transform_head; tf; tf = tf->next)
     {
-      _single_transform_name_to_obstack (tf, input);
-      input = obstack_finish (&stk);
+      if (tf->flags & flags)
+       {
+         _single_transform_name_to_obstack (tf, input);
+         input = obstack_finish (&stk);
+         alloced = true;
+       }
     }
   *output = input;
-  return transform_head != NULL;
+  return alloced;
 }
   
 bool
-transform_name_fp (char **pinput, char *(*fun)(char *, void *), void *dat)
+transform_name_fp (char **pinput, int flags,
+                  char *(*fun)(char *, void *), void *dat)
 {
     char *str;
-    bool ret = _transform_name_to_obstack (*pinput, &str);
+    bool ret = _transform_name_to_obstack (flags, *pinput, &str);
     if (ret)
       {
        assign_string (pinput, fun ? fun (str, dat) : str);
@@ -560,8 +624,8 @@ transform_name_fp (char **pinput, char *(*fun)(char *, void *), void *dat)
 }
 
 bool
-transform_name (char **pinput)
+transform_name (char **pinput, int type)
 {
-  return transform_name_fp (pinput, NULL, NULL);
+  return transform_name_fp (pinput, type, NULL, NULL);
 }
 
index 9be0a2fe30e778695023019d40dd29ac0318582d..919ecd393b21a69f3572aee138ce3c95d0b3c06c 100644 (file)
@@ -25,8 +25,6 @@
 
 #include "common.h"
 
-#include <fnmatch.h>
-
 static bool xheader_protected_pattern_p (char const *pattern);
 static bool xheader_protected_keyword_p (char const *keyword);
 static void xheader_set_single_keyword (char *) __attribute__ ((noreturn));
index 729bdd95fa96cd362f223e12e985cfb1e3a217a1..cad0dfed275f16174671303ac58ce7e0ac6b16cb 100644 (file)
@@ -89,6 +89,7 @@ TESTSUITE_AT = \
  multiv03.at\
  multiv04.at\
  multiv05.at\
+ multiv06.at\
  old.at\
  options.at\
  options02.at\
@@ -97,6 +98,8 @@ TESTSUITE_AT = \
  rename01.at\
  rename02.at\
  rename03.at\
+ rename04.at\
+ rename05.at\
  same-order01.at\
  same-order02.at\
  shortfile.at\
index e486e3e0254523ccc10ab380ee0365f413219252..ba2b879ef8a59af1b9754c9c479157a368d77581 100644 (file)
@@ -50,19 +50,20 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/alloca.m4 \
        $(top_srcdir)/m4/canonicalize-lgpl.m4 \
        $(top_srcdir)/m4/chdir-long.m4 $(top_srcdir)/m4/chown.m4 \
        $(top_srcdir)/m4/clock_time.m4 \
-       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/closeout.m4 \
-       $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/d-ino.m4 \
+       $(top_srcdir)/m4/close-stream.m4 $(top_srcdir)/m4/close.m4 \
+       $(top_srcdir)/m4/closeout.m4 $(top_srcdir)/m4/codeset.m4 \
+       $(top_srcdir)/m4/d-ino.m4 $(top_srcdir)/m4/dirent_h.m4 \
        $(top_srcdir)/m4/dirfd.m4 $(top_srcdir)/m4/dirname.m4 \
        $(top_srcdir)/m4/dos.m4 $(top_srcdir)/m4/double-slash-root.m4 \
        $(top_srcdir)/m4/dup2.m4 $(top_srcdir)/m4/eealloc.m4 \
-       $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/eoverflow.m4 \
+       $(top_srcdir)/m4/environ.m4 $(top_srcdir)/m4/errno_h.m4 \
        $(top_srcdir)/m4/error.m4 $(top_srcdir)/m4/exclude.m4 \
        $(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.m4 \
-       $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fcntl-safer.m4 \
-       $(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fileblocks.m4 \
-       $(top_srcdir)/m4/float_h.m4 $(top_srcdir)/m4/fnmatch.m4 \
-       $(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fseeko.m4 \
-       $(top_srcdir)/m4/ftruncate.m4 \
+       $(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fclose.m4 \
+       $(top_srcdir)/m4/fcntl-safer.m4 $(top_srcdir)/m4/fcntl_h.m4 \
+       $(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/float_h.m4 \
+       $(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \
+       $(top_srcdir)/m4/fseeko.m4 $(top_srcdir)/m4/ftruncate.m4 \
        $(top_srcdir)/m4/getcwd-abort-bug.m4 \
        $(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
        $(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getdelim.m4 \
@@ -87,41 +88,43 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/alloca.m4 \
        $(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \
        $(top_srcdir)/m4/memset.m4 $(top_srcdir)/m4/mkdtemp.m4 \
        $(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/modechange.m4 \
-       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/openat.m4 \
-       $(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/paxutils.m4 \
-       $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+       $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/open.m4 \
+       $(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/pathmax.m4 \
+       $(top_srcdir)/m4/paxutils.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/progtest.m4 \
        $(top_srcdir)/m4/quote.m4 $(top_srcdir)/m4/quotearg.m4 \
-       $(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/realloc.m4 \
-       $(top_srcdir)/m4/regex.m4 $(top_srcdir)/m4/rmdir.m4 \
-       $(top_srcdir)/m4/rmt.m4 $(top_srcdir)/m4/rpmatch.m4 \
-       $(top_srcdir)/m4/rtapelib.m4 $(top_srcdir)/m4/safe-read.m4 \
-       $(top_srcdir)/m4/safe-write.m4 $(top_srcdir)/m4/save-cwd.m4 \
-       $(top_srcdir)/m4/savedir.m4 $(top_srcdir)/m4/setenv.m4 \
-       $(top_srcdir)/m4/sleep.m4 $(top_srcdir)/m4/snprintf.m4 \
-       $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stat-time.m4 \
-       $(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
-       $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \
-       $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
-       $(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcase.m4 \
-       $(top_srcdir)/m4/strchrnul.m4 $(top_srcdir)/m4/strdup.m4 \
-       $(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/string_h.m4 \
-       $(top_srcdir)/m4/strings_h.m4 $(top_srcdir)/m4/strndup.m4 \
-       $(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strtoimax.m4 \
-       $(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/strtoll.m4 \
-       $(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \
-       $(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/sys_stat_h.m4 \
-       $(top_srcdir)/m4/sys_time_h.m4 $(top_srcdir)/m4/sysexits.m4 \
-       $(top_srcdir)/m4/system.m4 $(top_srcdir)/m4/tempname.m4 \
-       $(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \
-       $(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
-       $(top_srcdir)/m4/unistd-safer.m4 $(top_srcdir)/m4/unistd_h.m4 \
-       $(top_srcdir)/m4/unlinkdir.m4 $(top_srcdir)/m4/unlocked-io.m4 \
-       $(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utime.m4 \
-       $(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimes-null.m4 \
-       $(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/vasnprintf.m4 \
-       $(top_srcdir)/m4/vsnprintf.m4 $(top_srcdir)/m4/wchar.m4 \
-       $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wctype.m4 \
-       $(top_srcdir)/m4/wcwidth.m4 $(top_srcdir)/m4/wint_t.m4 \
+       $(top_srcdir)/m4/rawmemchr.m4 $(top_srcdir)/m4/readlink.m4 \
+       $(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \
+       $(top_srcdir)/m4/rmdir.m4 $(top_srcdir)/m4/rmt.m4 \
+       $(top_srcdir)/m4/rpmatch.m4 $(top_srcdir)/m4/rtapelib.m4 \
+       $(top_srcdir)/m4/safe-read.m4 $(top_srcdir)/m4/safe-write.m4 \
+       $(top_srcdir)/m4/save-cwd.m4 $(top_srcdir)/m4/savedir.m4 \
+       $(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sleep.m4 \
+       $(top_srcdir)/m4/snprintf.m4 $(top_srcdir)/m4/ssize_t.m4 \
+       $(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stdarg.m4 \
+       $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stdint.m4 \
+       $(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
+       $(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/stpcpy.m4 \
+       $(top_srcdir)/m4/strcase.m4 $(top_srcdir)/m4/strchrnul.m4 \
+       $(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strerror.m4 \
+       $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strings_h.m4 \
+       $(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
+       $(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \
+       $(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \
+       $(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
+       $(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
+       $(top_srcdir)/m4/sysexits.m4 $(top_srcdir)/m4/system.m4 \
+       $(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
+       $(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
+       $(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd-safer.m4 \
+       $(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/unlinkdir.m4 \
+       $(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/utimbuf.m4 \
+       $(top_srcdir)/m4/utime.m4 $(top_srcdir)/m4/utimens.m4 \
+       $(top_srcdir)/m4/utimes-null.m4 $(top_srcdir)/m4/utimes.m4 \
+       $(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vsnprintf.m4 \
+       $(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wchar_t.m4 \
+       $(top_srcdir)/m4/wctype.m4 $(top_srcdir)/m4/wcwidth.m4 \
+       $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/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)/configure.ac
@@ -184,7 +187,13 @@ ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
-EOVERFLOW = @EOVERFLOW@
+EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
+EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
+ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
+ENOLINK_VALUE = @ENOLINK_VALUE@
+EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
+EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
+ERRNO_H = @ERRNO_H@
 EXEEXT = @EXEEXT@
 FCNTL_H = @FCNTL_H@
 FLOAT_H = @FLOAT_H@
@@ -194,30 +203,47 @@ GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
+GNULIB_ATOLL = @GNULIB_ATOLL@
 GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
 GNULIB_CHOWN = @GNULIB_CHOWN@
+GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_DIRFD = @GNULIB_DIRFD@
 GNULIB_DUP2 = @GNULIB_DUP2@
 GNULIB_ENVIRON = @GNULIB_ENVIRON@
+GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
 GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
 GNULIB_FFLUSH = @GNULIB_FFLUSH@
 GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
 GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
 GNULIB_FREOPEN = @GNULIB_FREOPEN@
 GNULIB_FSEEK = @GNULIB_FSEEK@
 GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSYNC = @GNULIB_FSYNC@
 GNULIB_FTELL = @GNULIB_FTELL@
 GNULIB_FTELLO = @GNULIB_FTELLO@
 GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FWRITE = @GNULIB_FWRITE@
 GNULIB_GETCWD = @GNULIB_GETCWD@
 GNULIB_GETDELIM = @GNULIB_GETDELIM@
+GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
+GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
 GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
+GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
 GNULIB_IMAXABS = @GNULIB_IMAXABS@
 GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
 GNULIB_LCHOWN = @GNULIB_LCHOWN@
 GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
 GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
 GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
@@ -238,15 +264,26 @@ GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
 GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
 GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
 GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
 GNULIB_OPEN = @GNULIB_OPEN@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PRINTF = @GNULIB_PRINTF@
 GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
 GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
+GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
 GNULIB_READLINK = @GNULIB_READLINK@
 GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
 GNULIB_SETENV = @GNULIB_SETENV@
 GNULIB_SLEEP = @GNULIB_SLEEP@
 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
 GNULIB_STPCPY = @GNULIB_STPCPY@
 GNULIB_STPNCPY = @GNULIB_STPNCPY@
 GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
@@ -262,25 +299,35 @@ GNULIB_STRSTR = @GNULIB_STRSTR@
 GNULIB_STRTOD = @GNULIB_STRTOD@
 GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
 GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
 GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
+GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
 GNULIB_UNSETENV = @GNULIB_UNSETENV@
 GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
 GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
 GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
 GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
 GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
 GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WRITE = @GNULIB_WRITE@
 GREP = @GREP@
+HAVE_ATOLL = @HAVE_ATOLL@
 HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
+HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@
 HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
 HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
 HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
 HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
 HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
-HAVE_DECL_MKDIR = @HAVE_DECL_MKDIR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
 HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
 HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
 HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
@@ -294,22 +341,31 @@ HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
 HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
 HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
 HAVE_DUP2 = @HAVE_DUP2@
+HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
 HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSYNC = @HAVE_FSYNC@
 HAVE_FTELLO = @HAVE_FTELLO@
 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
+HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
-HAVE_IO_H = @HAVE_IO_H@
 HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
+HAVE_LCHMOD = @HAVE_LCHMOD@
 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
 HAVE_LSTAT = @HAVE_LSTAT@
 HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
 HAVE_MEMPCPY = @HAVE_MEMPCPY@
 HAVE_MKDTEMP = @HAVE_MKDTEMP@
 HAVE_OS_H = @HAVE_OS_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
+HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
 HAVE_READLINK = @HAVE_READLINK@
 HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
+HAVE_RPMATCH = @HAVE_RPMATCH@
 HAVE_SETENV = @HAVE_SETENV@
 HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
 HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
@@ -325,10 +381,15 @@ HAVE_STRNDUP = @HAVE_STRNDUP@
 HAVE_STRPBRK = @HAVE_STRPBRK@
 HAVE_STRSEP = @HAVE_STRSEP@
 HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
+HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
 HAVE_SYSEXITS_H = @HAVE_SYSEXITS_H@
 HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
@@ -370,6 +431,7 @@ MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
 NEXT_DIRENT_H = @NEXT_DIRENT_H@
+NEXT_ERRNO_H = @NEXT_ERRNO_H@
 NEXT_FCNTL_H = @NEXT_FCNTL_H@
 NEXT_FLOAT_H = @NEXT_FLOAT_H@
 NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
@@ -395,13 +457,16 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
 PACKAGE_VERSION = @PACKAGE_VERSION@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 POSUB = @POSUB@
+PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
 PRIPTR_PREFIX = @PRIPTR_PREFIX@
 PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
 PU_RMT_PROG = @PU_RMT_PROG@
 RANLIB = @RANLIB@
 REPLACE_CHOWN = @REPLACE_CHOWN@
+REPLACE_CLOSE = @REPLACE_CLOSE@
 REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
 REPLACE_FFLUSH = @REPLACE_FFLUSH@
 REPLACE_FOPEN = @REPLACE_FOPEN@
 REPLACE_FPRINTF = @REPLACE_FPRINTF@
@@ -414,18 +479,25 @@ REPLACE_GETCWD = @REPLACE_GETCWD@
 REPLACE_GETLINE = @REPLACE_GETLINE@
 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
 REPLACE_LCHOWN = @REPLACE_LCHOWN@
 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
 REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
 REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
 REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_PERROR = @REPLACE_PERROR@
 REPLACE_PRINTF = @REPLACE_PRINTF@
 REPLACE_PUTENV = @REPLACE_PUTENV@
 REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
 REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
 REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRDUP = @REPLACE_STRDUP@
 REPLACE_STRERROR = @REPLACE_STRERROR@
 REPLACE_STRPTIME = @REPLACE_STRPTIME@
 REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
@@ -438,6 +510,7 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@
 REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
 REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
 REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WRITE = @REPLACE_WRITE@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
@@ -453,6 +526,7 @@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
 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@
+UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 VOID_UNSETENV = @VOID_UNSETENV@
@@ -567,6 +641,7 @@ TESTSUITE_AT = \
  multiv03.at\
  multiv04.at\
  multiv05.at\
+ multiv06.at\
  old.at\
  options.at\
  options02.at\
@@ -575,6 +650,8 @@ TESTSUITE_AT = \
  rename01.at\
  rename02.at\
  rename03.at\
+ rename04.at\
+ rename05.at\
  same-order01.at\
  same-order02.at\
  shortfile.at\
index 380cac01aed4882869207bd043635e6f3917cecd..5eaaab68f4b24ef8714fdf4274be86eb0fb3d0ab 100644 (file)
@@ -30,4 +30,8 @@ tarball_prereq() {
   echo "$2  $3/$1" | md5sum --status --check - >/dev/null 2>&1
 }
 
+decho() {
+  echo $*
+  echo >&2 $*
+}
 
index d4880b85facb1b2fa74f33392d59811294146026..66c6367ab0ec3192b1506fd5176ea4d5dd2e88b8 100644 (file)
@@ -42,7 +42,7 @@ tar tf archive
 to
 ],
 [tar: tre: Not found in archive
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 ])
 
 AT_CLEANUP
index 91cf5b44c64cf77966b72764a2abde8479d66917..1b338bce2f95a77635abe7f7f6926b53802d4395 100644 (file)
@@ -261,13 +261,11 @@ verify_file (char *file_name)
        error (0, errno, _("stat(%s) failed"), file_name);
 
       if (st.st_size != file_length + seek_offset)
-       {
-         printf ("%lu %lu\n", (unsigned long)st.st_size , (unsigned long)file_length);
-         exit (1);
-       }
+       error (1, 0, _("requested file length %lu, actual %lu"),
+              (unsigned long)st.st_size, (unsigned long)file_length);
 
       if (mode == mode_sparse && !ST_IS_SPARSE (st))
-       exit (1);
+       error (1, 0, _("created file is not sparse"));
     }
 }
 
index f3a4a8687e05739e11c76f4d6eab310dcc83ef9d..eb4303050abeab69d8a7be736c712e4ed546ac1d 100644 (file)
@@ -35,7 +35,7 @@ test $? = 2 || exit 1
 [
 gzip: stdin: unexpected end of file
 tar: Child returned status 1
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 ],
 [],[])
 
index f1d9d3357c2e7fe834350ae3efda4eb77ea2b182..03f90450b5c2fd12c8548df9999dc1583e36373c 100644 (file)
@@ -64,12 +64,12 @@ test $status = 0
 [
 -----
 tar: file: Cannot open: Permission denied
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 -----
 tar: file: Warning: Cannot open: Permission denied
 -----
 tar: directory: Cannot open: Permission denied
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 -----
 tar: directory: Warning: Cannot open: Permission denied
 ])
index bab0beba144f8da039f646bd8454d9bbc7b15d04..5873d83aa9baee16aec66d04cad318ead7d18b5a 100644 (file)
@@ -44,7 +44,10 @@ sleep 1
 tar cf archive --listed=list structure
 tar cfv archive --listed=list structure
 echo separator
-sleep 1
+# ReiserFS often offsets the timestamps of newly created files
+# 1 second to the past.  Try to compensate for it, until a better
+# solution is found.
+sleep 2
 echo y >structure/file
 tar cfv archive --listed=list structure
 ],
index 56584f2455143668f983c4df04ea61ba86439c06..b9fc2e40b136c37c16da8193e9a3e210e42e2411 100644 (file)
@@ -39,7 +39,7 @@ tar --create \
 
 tar tf archive.1 || exit 1
 
-sleep 1
+sleep 2
 
 genfile --length 10240 --pattern zeros --file directory/file2
 
index e8eae5a393b7f95baf3702f0a83c37e90251c906..9f03744406189adb5f80dc26e888c6ed3bbb5aaf 100644 (file)
@@ -40,7 +40,7 @@ tar tf archive
 DIR/
 ],
 [tar: DIR/FILE: file name is too long (max 99); not dumped
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 ],
 [],[],[v7])
 
index f50a9ab17f3cfbce61c80d29cb24b260f7a4dd69..580aa85eb85f602d30255762f55740e0e9756a8c 100644 (file)
@@ -31,7 +31,7 @@ tar cf archive LONGNAME
 [2],
 [],
 [tar: LONGNAME: file name is too long (cannot be split); not dumped
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 ],[],[],[ustar])
 
 AT_CLEANUP
index 7f683d885e67af7e82a8c89b4a649d0ff6779e70..83e0b53d16b304a1f08983d3d352f13cd07b64d2 100644 (file)
@@ -36,7 +36,7 @@ tar cf archive PREFIX_155
 [2],
 [],
 [tar: PREFIX_155/: file name is too long (cannot be split); not dumped
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 ],[],[],[ustar])
 
 AT_CLEANUP
index 986056e623b3772d616f9ff20bcec8adface2fd6..2e5b74c7f8c316397bc69ad4b3fd637bb7931317 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # 02110-1301, USA.
 
 # Up to version 1.15.91 tar was unable to recognize all volumes
-# given after an aout-of-sync volume.
+# given after an out-of-sync volume.
 # Reported by: Joerg Weilbier <gnu@weilbier.net>
 # References: <200610011952.29880.gnu@weilbier.net>
 
-AT_SETUP([Restoring after an out of sync folume])
+AT_SETUP([Restoring after an out of sync volume])
 AT_KEYWORDS([multivolume multiv multiv05 sync])
 m4_define([FILELIST],[jeden,dwa,trzy,cztery,piec,szesc])
 
diff --git a/tests/multiv06.at b/tests/multiv06.at
new file mode 100644 (file)
index 0000000..9665299
--- /dev/null
@@ -0,0 +1,52 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright (C) 2008 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# When volume size equals record size, swapping buffers in
+# new_volume triggers a call to flush_archive.  The size left variables
+# must be corrected after that, which was not done in versions <= 1.20.
+# Reported by: Marek Kielar <mkielar@go2.pl>
+# References: <1907cbb6.79e32b49.48887f09.fd55@o2.pl>
+
+AT_SETUP([Multivolumes with L=record_size])
+AT_KEYWORDS([multivolume multiv multiv06])
+
+AT_TAR_CHECK([
+exec <&-
+decho Creating file
+genfile --length 20139 --file file
+decho Creating archive
+tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file
+decho Testing archive
+tar -t -M -farc.1 -farc.2 -farc.3],
+[0],
+[Creating file
+Creating archive
+Testing archive
+file
+],
+[Creating file
+Creating archive
+Testing archive
+],
+[],[],
+[gnu, pax])
+
+AT_CLEANUP
+
index 7fc4eddc8c6a96e78410540b69decf608d84264c..09982470c560dfc6a93182882149bd81e1a261a4 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.20])
-m4_define([AT_PACKAGE_STRING],    [GNU tar 1.20])
+m4_define([AT_PACKAGE_VERSION],   [1.21])
+m4_define([AT_PACKAGE_STRING],    [GNU tar 1.21])
 m4_define([AT_PACKAGE_BUGREPORT], [bug-tar@gnu.org])
diff --git a/tests/rename04.at b/tests/rename04.at
new file mode 100644 (file)
index 0000000..3e9eb1a
--- /dev/null
@@ -0,0 +1,83 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright (C) 2008 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# Description: Up to version 1.20, when storing a record for renamed
+# directory in an incremental archive, tar incorrectly flagged all its
+# subdirectories as renamed, which led to problems at archive extraction.
+# References: <00a401c8ecc0$56b7ef30$6a17a8c0@inti.com>
+# Reported by: Enric Hernandez <ehernandez@notariado.org>
+
+AT_SETUP([renamed directory containing subdirectories])
+AT_KEYWORDS([incremental rename04 rename])
+
+AT_TAR_CHECK([
+AT_SORT_PREREQ
+
+decho Creating directory structure
+mkdir directory
+mkdir directory/subdir
+genfile --file=directory/file
+
+decho Creating initial archive
+tar -cf archive.1 -g db.1 directory
+
+decho Renaming
+mv directory dir
+
+decho Creating incremental archive
+cp db.1 db.2
+tar -cf archive.2 -g db.2 dir
+
+mv dir orig
+
+decho First restore
+tar -xf archive.1 -g db.1
+find directory | sort
+
+decho Second restore
+tar -xf archive.2 -g db.2
+find dir | sort
+],
+[0],
+[Creating directory structure
+Creating initial archive
+Renaming
+Creating incremental archive
+First restore
+directory
+directory/file
+directory/subdir
+Second restore
+dir
+dir/subdir
+],
+[Creating directory structure
+Creating initial archive
+Renaming
+Creating incremental archive
+First restore
+Second restore
+],[],[],[gnu, oldgnu, posix])
+
+AT_CLEANUP
+
+# End of rename04.at
+
+
diff --git a/tests/rename05.at b/tests/rename05.at
new file mode 100644 (file)
index 0000000..3ad93a6
--- /dev/null
@@ -0,0 +1,81 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright (C) 2008 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# Description:  A continuation of rename04.at, that checks additionally if
+# renamed subdirectories are restored correctly.
+
+AT_SETUP([renamed subdirectories])
+AT_KEYWORDS([incremental rename05 rename])
+
+AT_TAR_CHECK([
+AT_SORT_PREREQ
+
+decho Creating directory structure
+mkdir directory
+mkdir directory/subdir
+genfile --file=directory/file
+
+decho Creating initial archive
+tar -cf archive.1 -g db.1 directory
+
+decho Renaming
+mv directory/subdir directory/subdir.0
+mv directory dir
+
+decho Creating incremental archive
+cp db.1 db.2
+tar -cf archive.2 -g db.2 dir
+
+mv dir orig
+
+decho First restore
+tar -xf archive.1 -g db.1
+find directory | sort
+
+decho Second restore
+tar -xf archive.2 -g db.2
+find dir | sort
+],
+[0],
+[Creating directory structure
+Creating initial archive
+Renaming
+Creating incremental archive
+First restore
+directory
+directory/file
+directory/subdir
+Second restore
+dir
+dir/subdir.0
+],
+[Creating directory structure
+Creating initial archive
+Renaming
+Creating incremental archive
+First restore
+Second restore
+],[],[],[gnu, oldgnu, posix])
+
+AT_CLEANUP
+
+# End of rename05.at
+
+
index dbebc5093c9473bdd0eaf1fd9770f6eb4d3eeed3..1c0b4dc9756a8cbf0cdf1c4f6e009bbc88964f74 100644 (file)
@@ -33,7 +33,7 @@ tar tf foo
 [2],
 [],
 [tar: This does not look like a tar archive
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 ],
 [],[],[gnu])
 
index a0d375e87d9364bef6783553175dcb0d510c432b..81da61309d15fe3c9f1b4dd71e3819d413d25094 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -35,18 +35,18 @@ echo "Pass 1: Split between data blocks"
 echo "Create archive"
 tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1
 echo "Test archive"
-tar -t -M -f arc.1 -f arc.2 
+tar --record-size=512 -t -M -f arc.1 -f arc.2 
 echo "Compare archive"
-tar -d -M -f arc.1 -f arc.2
+tar --record-size=512 -d -M -f arc.1 -f arc.2
 
 echo "Pass 2: Split within a data block"
 genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || AT_SKIP_TEST
 echo "Create archive"
 tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1
 echo "Test archive"
-tar -t -M -f arc.1 -f arc.2 
+tar --record-size=512 -t -M -f arc.1 -f arc.2 
 echo "Compare archive"
-tar -d -M -f arc.1 -f arc.2
+tar --record-size=512 -d -M -f arc.1 -f arc.2
 ],
 [0],
 [Pass 1: Split between data blocks
index 26748135c0646297d3efb98bdf9a0926c1a21031..2edd823320002bfb9b907a8f4cd7cb871ecf8edc 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 # This 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,5 +56,7 @@ Test archive
 sparsefile
 Compare archive
 ],
-[],[],[],[pax])])
+[tar: Record size = 12 blocks
+tar: Record size = 12 blocks
+],[],[],[pax])])
 
index 1a9f12a74a64ba2311561cc8e7592b171ed70d78..880890c4162d5bfdf71b5c9dd113d5384dc81026 100755 (executable)
@@ -620,7 +620,7 @@ at_times_file=$at_suite_dir/at-times
 # List of the tested programs.
 at_tested='tar'
 # List of the all the test groups.
-at_groups_all=' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74'
+at_groups_all=' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77'
 # As many question marks as there are digits in the last test group number.
 # Used to normalize the test group numbers so that `ls' lists them in
 # numerical order.
@@ -661,45 +661,48 @@ at_help_all="1;version.at:19;tar version;;
 33;rename01.at:24;renamed dirs in incrementals;incremental rename rename01;
 34;rename02.at:24;move between hierarchies;incremental rename rename02;
 35;rename03.at:23;cyclic renames;incremental rename rename03 cyclic-rename;
-36;chtype.at:27;changed file types in incrementals;incremental chtype;
-37;ignfail.at:23;ignfail;ignfail;
-38;link01.at:33;link count gt 2;link01;
-39;longv7.at:24;long names in V7 archives;longname longv7;
-40;long01.at:28;long file names divisible by block size;longname long512;
-41;lustar01.at:21;ustar: unsplittable file name;longname ustar lustar01;
-42;lustar02.at:21;ustar: unsplittable path name;longname ustar lustar02;
-43;lustar03.at:21;ustar: splitting long names;longname ustar lustar03;
-44;multiv01.at:23;multivolume dumps from pipes;multivolume multiv multiv01;
-45;multiv02.at:28;skipping a straddling member;multivolume multiv multiv02;
-46;multiv03.at:30;MV archive & long filenames;multivolume multiv multiv03;
-47;multiv04.at:36;split directory members in a MV archive;multivolume multiv incremental multiv04;
-48;multiv05.at:26;Restoring after an out of sync folume;multivolume multiv multiv05 sync;
-49;old.at:23;old archives;old;
-50;recurse.at:21;recurse;recurse;
-51;same-order01.at:26;working -C with --same-order;same-order same-order01;
-52;same-order02.at:25;multiple -C options;same-order same-order02;
-53;shortrec.at:25;short records;shortrec.at;
-54;sparse01.at:21;sparse files;sparse sparse01;
-55;sparse02.at:21;extracting sparse file over a pipe;sparse sparse02;
-56;sparse03.at:21;storing sparse files > 8G;sparse sparse03;
-57;sparsemv.at:21;sparse files in MV archives;sparse multiv sparsemv;
-58;spmvp00.at:21;sparse files in PAX MV archives, v.0.0;sparse multiv sparsemvp sparsemvp00;
-59;spmvp01.at:21;sparse files in PAX MV archives, v.0.1;sparse multiv sparsemvp sparsemvp01;
-60;spmvp10.at:21;sparse files in PAX MV archives, v.1.0;sparse multiv sparsemvp sparsemvp10;
-61;update.at:27;update unchanged directories;update;
-62;volume.at:23;volume;volume volcheck;
-63;volsize.at:29;volume header size;volume volsize;
-64;comprec.at:21;compressed format recognition;comprec;
-65;shortfile.at:26;short input files;shortfile shortfile0;
-66;shortupd.at:29;updating short archives;shortfile shortfile1 shortupd;
-67;truncate.at:29;truncate;truncate filechange;
-68;grow.at:24;grow;grow filechange;
-69;gtarfail.at:21;gtarfail;star gtarfail;
-70;gtarfail2.at:21;gtarfail2;star gtarfail2;
-71;multi-fail.at:21;multi-fail;star multivolume multiv multi-fail;
-72;ustar-big-2g.at:21;ustar-big-2g;star ustar-big-2g;
-73;ustar-big-8g.at:21;ustar-big-8g;star ustar-big-8g;
-74;pax-big-10g.at:21;pax-big-10g;star pax-big-10g;
+36;rename04.at:27;renamed directory containing subdirectories;incremental rename04 rename;
+37;rename05.at:24;renamed subdirectories;incremental rename05 rename;
+38;chtype.at:27;changed file types in incrementals;incremental chtype;
+39;ignfail.at:23;ignfail;ignfail;
+40;link01.at:33;link count gt 2;link01;
+41;longv7.at:24;long names in V7 archives;longname longv7;
+42;long01.at:28;long file names divisible by block size;longname long512;
+43;lustar01.at:21;ustar: unsplittable file name;longname ustar lustar01;
+44;lustar02.at:21;ustar: unsplittable path name;longname ustar lustar02;
+45;lustar03.at:21;ustar: splitting long names;longname ustar lustar03;
+46;multiv01.at:23;multivolume dumps from pipes;multivolume multiv multiv01;
+47;multiv02.at:28;skipping a straddling member;multivolume multiv multiv02;
+48;multiv03.at:30;MV archive & long filenames;multivolume multiv multiv03;
+49;multiv04.at:36;split directory members in a MV archive;multivolume multiv incremental multiv04;
+50;multiv05.at:26;Restoring after an out of sync volume;multivolume multiv multiv05 sync;
+51;multiv06.at:27;Multivolumes with L=record_size;multivolume multiv multiv06;
+52;old.at:23;old archives;old;
+53;recurse.at:21;recurse;recurse;
+54;same-order01.at:26;working -C with --same-order;same-order same-order01;
+55;same-order02.at:25;multiple -C options;same-order same-order02;
+56;shortrec.at:25;short records;shortrec.at;
+57;sparse01.at:21;sparse files;sparse sparse01;
+58;sparse02.at:21;extracting sparse file over a pipe;sparse sparse02;
+59;sparse03.at:21;storing sparse files > 8G;sparse sparse03;
+60;sparsemv.at:21;sparse files in MV archives;sparse multiv sparsemv;
+61;spmvp00.at:21;sparse files in PAX MV archives, v.0.0;sparse multiv sparsemvp sparsemvp00;
+62;spmvp01.at:21;sparse files in PAX MV archives, v.0.1;sparse multiv sparsemvp sparsemvp01;
+63;spmvp10.at:21;sparse files in PAX MV archives, v.1.0;sparse multiv sparsemvp sparsemvp10;
+64;update.at:27;update unchanged directories;update;
+65;volume.at:23;volume;volume volcheck;
+66;volsize.at:29;volume header size;volume volsize;
+67;comprec.at:21;compressed format recognition;comprec;
+68;shortfile.at:26;short input files;shortfile shortfile0;
+69;shortupd.at:29;updating short archives;shortfile shortfile1 shortupd;
+70;truncate.at:29;truncate;truncate filechange;
+71;grow.at:24;grow;grow filechange;
+72;gtarfail.at:21;gtarfail;star gtarfail;
+73;gtarfail2.at:21;gtarfail2;star gtarfail2;
+74;multi-fail.at:21;multi-fail;star multivolume multiv multi-fail;
+75;ustar-big-2g.at:21;ustar-big-2g;star ustar-big-2g;
+76;ustar-big-8g.at:21;ustar-big-8g;star ustar-big-8g;
+77;pax-big-10g.at:21;pax-big-10g;star pax-big-10g;
 "
 
 at_prev=
@@ -923,7 +926,7 @@ fi
 # List of tests.
 if $at_list_p; then
   cat <<_ATEOF
-GNU tar 1.20 test suite test groups:
+GNU tar 1.21 test suite test groups:
 
  NUM: FILE-NAME:LINE     TEST-GROUP-NAME
       KEYWORDS
@@ -947,7 +950,7 @@ _ATEOF
   exit 0
 fi
 if $at_version_p; then
-  echo "$as_me (GNU tar 1.20)"
+  echo "$as_me (GNU tar 1.21)"
   cat <<\_ACEOF
 
 Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
@@ -1031,13 +1034,13 @@ exec 5>>"$at_suite_log"
 # Banners and logs.
 cat <<\_ASBOX
 ## ------------------------ ##
-## GNU tar 1.20 test suite. ##
+## GNU tar 1.21 test suite. ##
 ## ------------------------ ##
 _ASBOX
 {
   cat <<\_ASBOX
 ## ------------------------ ##
-## GNU tar 1.20 test suite. ##
+## GNU tar 1.21 test suite. ##
 ## ------------------------ ##
 _ASBOX
   echo
@@ -1307,7 +1310,7 @@ fi
 
 at_failed=false
 $at_diff "$at_devnull" "$at_stderr" || at_failed=:
-echo >>"$at_stdout"; echo "tar (GNU tar) 1.20
+echo >>"$at_stdout"; echo "tar (GNU tar) 1.21
 " | $at_diff - "$at_stdout" || at_failed=:
 case $at_status in
    77) echo 77 > "$at_status_file"; exit 77;;
@@ -6799,7 +6802,7 @@ fi
 
 at_failed=false
 echo >>"$at_stderr"; echo "tar: tre: Not found in archive
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 " | $at_diff - "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; echo "en
 to
@@ -6890,7 +6893,7 @@ fi
 
 at_failed=false
 echo >>"$at_stderr"; echo "tar: tre: Not found in archive
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 " | $at_diff - "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; echo "en
 to
@@ -6981,7 +6984,7 @@ fi
 
 at_failed=false
 echo >>"$at_stderr"; echo "tar: tre: Not found in archive
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 " | $at_diff - "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; echo "en
 to
@@ -7072,7 +7075,7 @@ fi
 
 at_failed=false
 echo >>"$at_stderr"; echo "tar: tre: Not found in archive
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 " | $at_diff - "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; echo "en
 to
@@ -7163,7 +7166,7 @@ fi
 
 at_failed=false
 echo >>"$at_stderr"; echo "tar: tre: Not found in archive
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 " | $at_diff - "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; echo "en
 to
@@ -10569,7 +10572,7 @@ at_failed=false
 echo >>"$at_stderr"; echo "
 gzip: stdin: unexpected end of file
 tar: Child returned status 1
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 " | $at_diff - "$at_stderr" || at_failed=:
 $at_diff "$at_devnull" "$at_stdout" || at_failed=:
 case $at_status in
@@ -10639,7 +10642,10 @@ sleep 1
 tar cf archive --listed=list structure
 tar cfv archive --listed=list structure
 echo separator
-sleep 1
+# ReiserFS often offsets the timestamps of newly created files
+# 1 second to the past.  Try to compensate for it, until a better
+# solution is found.
+sleep 2
 echo y >structure/file
 tar cfv archive --listed=list structure
 )"
@@ -10680,7 +10686,10 @@ sleep 1
 tar cf archive --listed=list structure
 tar cfv archive --listed=list structure
 echo separator
-sleep 1
+# ReiserFS often offsets the timestamps of newly created files
+# 1 second to the past.  Try to compensate for it, until a better
+# solution is found.
+sleep 2
 echo y >structure/file
 tar cfv archive --listed=list structure
 ) ) >"$at_stdout" 2>"$at_stder1"
@@ -10717,7 +10726,10 @@ sleep 1
 tar cf archive --listed=list structure
 tar cfv archive --listed=list structure
 echo separator
-sleep 1
+# ReiserFS often offsets the timestamps of newly created files
+# 1 second to the past.  Try to compensate for it, until a better
+# solution is found.
+sleep 2
 echo y >structure/file
 tar cfv archive --listed=list structure
 ) ) >"$at_stdout" 2>"$at_stderr"
@@ -10775,7 +10787,10 @@ sleep 1
 tar cf archive --listed=list structure
 tar cfv archive --listed=list structure
 echo separator
-sleep 1
+# ReiserFS often offsets the timestamps of newly created files
+# 1 second to the past.  Try to compensate for it, until a better
+# solution is found.
+sleep 2
 echo y >structure/file
 tar cfv archive --listed=list structure
 )"
@@ -10816,7 +10831,10 @@ sleep 1
 tar cf archive --listed=list structure
 tar cfv archive --listed=list structure
 echo separator
-sleep 1
+# ReiserFS often offsets the timestamps of newly created files
+# 1 second to the past.  Try to compensate for it, until a better
+# solution is found.
+sleep 2
 echo y >structure/file
 tar cfv archive --listed=list structure
 ) ) >"$at_stdout" 2>"$at_stder1"
@@ -10853,7 +10871,10 @@ sleep 1
 tar cf archive --listed=list structure
 tar cfv archive --listed=list structure
 echo separator
-sleep 1
+# ReiserFS often offsets the timestamps of newly created files
+# 1 second to the past.  Try to compensate for it, until a better
+# solution is found.
+sleep 2
 echo y >structure/file
 tar cfv archive --listed=list structure
 ) ) >"$at_stdout" 2>"$at_stderr"
@@ -10911,7 +10932,10 @@ sleep 1
 tar cf archive --listed=list structure
 tar cfv archive --listed=list structure
 echo separator
-sleep 1
+# ReiserFS often offsets the timestamps of newly created files
+# 1 second to the past.  Try to compensate for it, until a better
+# solution is found.
+sleep 2
 echo y >structure/file
 tar cfv archive --listed=list structure
 )"
@@ -10952,7 +10976,10 @@ sleep 1
 tar cf archive --listed=list structure
 tar cfv archive --listed=list structure
 echo separator
-sleep 1
+# ReiserFS often offsets the timestamps of newly created files
+# 1 second to the past.  Try to compensate for it, until a better
+# solution is found.
+sleep 2
 echo y >structure/file
 tar cfv archive --listed=list structure
 ) ) >"$at_stdout" 2>"$at_stder1"
@@ -10989,7 +11016,10 @@ sleep 1
 tar cf archive --listed=list structure
 tar cfv archive --listed=list structure
 echo separator
-sleep 1
+# ReiserFS often offsets the timestamps of newly created files
+# 1 second to the past.  Try to compensate for it, until a better
+# solution is found.
+sleep 2
 echo y >structure/file
 tar cfv archive --listed=list structure
 ) ) >"$at_stdout" 2>"$at_stderr"
@@ -11927,7 +11957,7 @@ tar --create \\
 
 tar tf archive.1 || exit 1
 
-sleep 1
+sleep 2
 
 genfile --length 10240 --pattern zeros --file directory/file2
 
@@ -11969,7 +11999,7 @@ tar --create \
 
 tar tf archive.1 || exit 1
 
-sleep 1
+sleep 2
 
 genfile --length 10240 --pattern zeros --file directory/file2
 
@@ -12007,7 +12037,7 @@ tar --create \
 
 tar tf archive.1 || exit 1
 
-sleep 1
+sleep 2
 
 genfile --length 10240 --pattern zeros --file directory/file2
 
@@ -12065,7 +12095,7 @@ tar --create \\
 
 tar tf archive.1 || exit 1
 
-sleep 1
+sleep 2
 
 genfile --length 10240 --pattern zeros --file directory/file2
 
@@ -12107,7 +12137,7 @@ tar --create \
 
 tar tf archive.1 || exit 1
 
-sleep 1
+sleep 2
 
 genfile --length 10240 --pattern zeros --file directory/file2
 
@@ -12145,7 +12175,7 @@ tar --create \
 
 tar tf archive.1 || exit 1
 
-sleep 1
+sleep 2
 
 genfile --length 10240 --pattern zeros --file directory/file2
 
@@ -15905,10 +15935,1100 @@ echo "Begin directory listing 1"
 find foo | sort
 echo "End directory listing 1"
 
-tar xfgv arch.2 /dev/null
-echo Begin directory listing 2
-find foo | sort
-echo End directory listing 2
+tar xfgv arch.2 /dev/null
+echo Begin directory listing 2
+find foo | sort
+echo End directory listing 2
+) ) >"$at_stdout" 2>"$at_stder1"
+    at_status=$?
+    grep '^ *+' "$at_stder1" >&2
+    grep -v '^ *+' "$at_stder1" >"$at_stderr"
+else
+    ( :;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+
+mkdir foo
+genfile --file foo/file1
+genfile --file foo/file2
+
+mkdir foo/a
+genfile --file foo/a/filea
+
+mkdir foo/b
+genfile --file foo/b/fileb
+
+mkdir foo/c
+genfile --file foo/c/filec
+
+sleep 1
+
+echo "First dump"
+echo "First dump">&2
+tar -g incr -cf arch.1 -v foo 2>tmperr
+sort tmperr >&2
+
+# Shuffle directories:
+(cd foo
+mv a $$
+mv c a
+mv b c
+mv $$ b)
+
+echo "Second dump"
+echo "Second dump" >&2
+tar -g incr -cf arch.2 -v foo 2>tmperr
+sort tmperr >&2
+
+tar xfg arch.1 /dev/null
+
+echo "Begin directory listing 1"
+find foo | sort
+echo "End directory listing 1"
+
+tar xfgv arch.2 /dev/null
+echo Begin directory listing 2
+find foo | sort
+echo End directory listing 2
+) ) >"$at_stdout" 2>"$at_stderr"
+    at_status=$?
+fi
+
+at_failed=false
+echo >>"$at_stderr"; echo "First dump
+tar: foo/a: Directory is new
+tar: foo/b: Directory is new
+tar: foo/c: Directory is new
+Second dump
+tar: foo/a: Directory has been renamed from \`foo/c'
+tar: foo/b: Directory has been renamed from \`foo/a'
+tar: foo/c: Directory has been renamed from \`foo/b'
+" | $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; echo "First dump
+foo/
+foo/a/
+foo/b/
+foo/c/
+foo/file1
+foo/file2
+foo/a/filea
+foo/b/fileb
+foo/c/filec
+Second dump
+foo/
+foo/a/
+foo/b/
+foo/c/
+Begin directory listing 1
+foo
+foo/a
+foo/a/filea
+foo/b
+foo/b/fileb
+foo/c
+foo/c/filec
+foo/file1
+foo/file2
+End directory listing 1
+foo/
+foo/a/
+foo/b/
+foo/c/
+Begin directory listing 2
+foo
+foo/a
+foo/a/filec
+foo/b
+foo/b/filea
+foo/c
+foo/c/fileb
+foo/file1
+foo/file2
+End directory listing 2
+" | $at_diff - "$at_stdout" || at_failed=:
+case $at_status in
+   77) echo 77 > "$at_status_file"; exit 77;;
+   0) ;;
+   *) echo "$at_srcdir/rename03.at:26: exit code was $at_status, expected 0"
+      at_failed=:;;
+esac
+if $at_failed; then
+
+
+  echo 1 > "$at_status_file"
+  exit 1
+fi
+
+$at_traceon
+
+
+
+      $at_traceoff
+      $at_times_p && times >"$at_times_file"
+    ) 5>&1 2>&1 | eval $at_tee_pipe
+    at_status=`cat "$at_status_file"`
+    ;;
+
+  36 ) # 36. rename04.at:27: renamed directory containing subdirectories
+    at_setup_line='rename04.at:27'
+    at_desc="renamed directory containing subdirectories"
+    $at_quiet $ECHO_N " 36: renamed directory containing subdirectories    $ECHO_C"
+    at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+    echo "#                             -*- compilation -*-" >> "$at_group_log"
+    (
+      echo "36. rename04.at:27: testing ..."
+      $at_traceon
+
+
+
+
+
+  $at_traceoff
+echo "$at_srcdir/rename04.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
+
+
+decho Creating directory structure
+mkdir directory
+mkdir directory/subdir
+genfile --file=directory/file
+
+decho Creating initial archive
+tar -cf archive.1 -g db.1 directory
+
+decho Renaming
+mv directory dir
+
+decho Creating incremental archive
+cp db.1 db.2
+tar -cf archive.2 -g db.2 dir
+
+mv dir orig
+
+decho First restore
+tar -xf archive.1 -g db.1
+find directory | sort
+
+decho Second restore
+tar -xf archive.2 -g db.2
+find dir | sort
+)"
+echo rename04.at:30 >"$at_check_line_file"
+
+at_trace_this=
+if test -n "$at_traceon"; then
+    echo 'Not enabling shell tracing (command contains an embedded newline)'
+fi
+
+if test -n "$at_trace_this"; then
+    ( $at_traceon;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+
+decho Creating directory structure
+mkdir directory
+mkdir directory/subdir
+genfile --file=directory/file
+
+decho Creating initial archive
+tar -cf archive.1 -g db.1 directory
+
+decho Renaming
+mv directory dir
+
+decho Creating incremental archive
+cp db.1 db.2
+tar -cf archive.2 -g db.2 dir
+
+mv dir orig
+
+decho First restore
+tar -xf archive.1 -g db.1
+find directory | sort
+
+decho Second restore
+tar -xf archive.2 -g db.2
+find dir | sort
+) ) >"$at_stdout" 2>"$at_stder1"
+    at_status=$?
+    grep '^ *+' "$at_stder1" >&2
+    grep -v '^ *+' "$at_stder1" >"$at_stderr"
+else
+    ( :;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+
+decho Creating directory structure
+mkdir directory
+mkdir directory/subdir
+genfile --file=directory/file
+
+decho Creating initial archive
+tar -cf archive.1 -g db.1 directory
+
+decho Renaming
+mv directory dir
+
+decho Creating incremental archive
+cp db.1 db.2
+tar -cf archive.2 -g db.2 dir
+
+mv dir orig
+
+decho First restore
+tar -xf archive.1 -g db.1
+find directory | sort
+
+decho Second restore
+tar -xf archive.2 -g db.2
+find dir | sort
+) ) >"$at_stdout" 2>"$at_stderr"
+    at_status=$?
+fi
+
+at_failed=false
+echo >>"$at_stderr"; echo "Creating directory structure
+Creating initial archive
+Renaming
+Creating incremental archive
+First restore
+Second restore
+" | $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; echo "Creating directory structure
+Creating initial archive
+Renaming
+Creating incremental archive
+First restore
+directory
+directory/file
+directory/subdir
+Second restore
+dir
+dir/subdir
+" | $at_diff - "$at_stdout" || at_failed=:
+case $at_status in
+   77) echo 77 > "$at_status_file"; exit 77;;
+   0) ;;
+   *) echo "$at_srcdir/rename04.at:30: exit code was $at_status, expected 0"
+      at_failed=:;;
+esac
+if $at_failed; then
+
+
+  echo 1 > "$at_status_file"
+  exit 1
+fi
+
+$at_traceon
+$at_traceoff
+echo "$at_srcdir/rename04.at:30:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+
+decho Creating directory structure
+mkdir directory
+mkdir directory/subdir
+genfile --file=directory/file
+
+decho Creating initial archive
+tar -cf archive.1 -g db.1 directory
+
+decho Renaming
+mv directory dir
+
+decho Creating incremental archive
+cp db.1 db.2
+tar -cf archive.2 -g db.2 dir
+
+mv dir orig
+
+decho First restore
+tar -xf archive.1 -g db.1
+find directory | sort
+
+decho Second restore
+tar -xf archive.2 -g db.2
+find dir | sort
+)"
+echo rename04.at:30 >"$at_check_line_file"
+
+at_trace_this=
+if test -n "$at_traceon"; then
+    echo 'Not enabling shell tracing (command contains an embedded newline)'
+fi
+
+if test -n "$at_trace_this"; then
+    ( $at_traceon;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+
+decho Creating directory structure
+mkdir directory
+mkdir directory/subdir
+genfile --file=directory/file
+
+decho Creating initial archive
+tar -cf archive.1 -g db.1 directory
+
+decho Renaming
+mv directory dir
+
+decho Creating incremental archive
+cp db.1 db.2
+tar -cf archive.2 -g db.2 dir
+
+mv dir orig
+
+decho First restore
+tar -xf archive.1 -g db.1
+find directory | sort
+
+decho Second restore
+tar -xf archive.2 -g db.2
+find dir | sort
+) ) >"$at_stdout" 2>"$at_stder1"
+    at_status=$?
+    grep '^ *+' "$at_stder1" >&2
+    grep -v '^ *+' "$at_stder1" >"$at_stderr"
+else
+    ( :;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+
+decho Creating directory structure
+mkdir directory
+mkdir directory/subdir
+genfile --file=directory/file
+
+decho Creating initial archive
+tar -cf archive.1 -g db.1 directory
+
+decho Renaming
+mv directory dir
+
+decho Creating incremental archive
+cp db.1 db.2
+tar -cf archive.2 -g db.2 dir
+
+mv dir orig
+
+decho First restore
+tar -xf archive.1 -g db.1
+find directory | sort
+
+decho Second restore
+tar -xf archive.2 -g db.2
+find dir | sort
+) ) >"$at_stdout" 2>"$at_stderr"
+    at_status=$?
+fi
+
+at_failed=false
+echo >>"$at_stderr"; echo "Creating directory structure
+Creating initial archive
+Renaming
+Creating incremental archive
+First restore
+Second restore
+" | $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; echo "Creating directory structure
+Creating initial archive
+Renaming
+Creating incremental archive
+First restore
+directory
+directory/file
+directory/subdir
+Second restore
+dir
+dir/subdir
+" | $at_diff - "$at_stdout" || at_failed=:
+case $at_status in
+   77) echo 77 > "$at_status_file"; exit 77;;
+   0) ;;
+   *) echo "$at_srcdir/rename04.at:30: exit code was $at_status, expected 0"
+      at_failed=:;;
+esac
+if $at_failed; then
+
+
+  echo 1 > "$at_status_file"
+  exit 1
+fi
+
+$at_traceon
+$at_traceoff
+echo "$at_srcdir/rename04.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
+
+
+decho Creating directory structure
+mkdir directory
+mkdir directory/subdir
+genfile --file=directory/file
+
+decho Creating initial archive
+tar -cf archive.1 -g db.1 directory
+
+decho Renaming
+mv directory dir
+
+decho Creating incremental archive
+cp db.1 db.2
+tar -cf archive.2 -g db.2 dir
+
+mv dir orig
+
+decho First restore
+tar -xf archive.1 -g db.1
+find directory | sort
+
+decho Second restore
+tar -xf archive.2 -g db.2
+find dir | sort
+)"
+echo rename04.at:30 >"$at_check_line_file"
+
+at_trace_this=
+if test -n "$at_traceon"; then
+    echo 'Not enabling shell tracing (command contains an embedded newline)'
+fi
+
+if test -n "$at_trace_this"; then
+    ( $at_traceon;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+
+decho Creating directory structure
+mkdir directory
+mkdir directory/subdir
+genfile --file=directory/file
+
+decho Creating initial archive
+tar -cf archive.1 -g db.1 directory
+
+decho Renaming
+mv directory dir
+
+decho Creating incremental archive
+cp db.1 db.2
+tar -cf archive.2 -g db.2 dir
+
+mv dir orig
+
+decho First restore
+tar -xf archive.1 -g db.1
+find directory | sort
+
+decho Second restore
+tar -xf archive.2 -g db.2
+find dir | sort
+) ) >"$at_stdout" 2>"$at_stder1"
+    at_status=$?
+    grep '^ *+' "$at_stder1" >&2
+    grep -v '^ *+' "$at_stder1" >"$at_stderr"
+else
+    ( :;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+
+decho Creating directory structure
+mkdir directory
+mkdir directory/subdir
+genfile --file=directory/file
+
+decho Creating initial archive
+tar -cf archive.1 -g db.1 directory
+
+decho Renaming
+mv directory dir
+
+decho Creating incremental archive
+cp db.1 db.2
+tar -cf archive.2 -g db.2 dir
+
+mv dir orig
+
+decho First restore
+tar -xf archive.1 -g db.1
+find directory | sort
+
+decho Second restore
+tar -xf archive.2 -g db.2
+find dir | sort
+) ) >"$at_stdout" 2>"$at_stderr"
+    at_status=$?
+fi
+
+at_failed=false
+echo >>"$at_stderr"; echo "Creating directory structure
+Creating initial archive
+Renaming
+Creating incremental archive
+First restore
+Second restore
+" | $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; echo "Creating directory structure
+Creating initial archive
+Renaming
+Creating incremental archive
+First restore
+directory
+directory/file
+directory/subdir
+Second restore
+dir
+dir/subdir
+" | $at_diff - "$at_stdout" || at_failed=:
+case $at_status in
+   77) echo 77 > "$at_status_file"; exit 77;;
+   0) ;;
+   *) echo "$at_srcdir/rename04.at:30: exit code was $at_status, expected 0"
+      at_failed=:;;
+esac
+if $at_failed; then
+
+
+  echo 1 > "$at_status_file"
+  exit 1
+fi
+
+$at_traceon
+
+
+
+      $at_traceoff
+      $at_times_p && times >"$at_times_file"
+    ) 5>&1 2>&1 | eval $at_tee_pipe
+    at_status=`cat "$at_status_file"`
+    ;;
+
+  37 ) # 37. rename05.at:24: renamed subdirectories
+    at_setup_line='rename05.at:24'
+    at_desc="renamed subdirectories"
+    $at_quiet $ECHO_N " 37: renamed subdirectories                         $ECHO_C"
+    at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+    echo "#                             -*- compilation -*-" >> "$at_group_log"
+    (
+      echo "37. rename05.at:24: testing ..."
+      $at_traceon
+
+
+
+
+
+  $at_traceoff
+echo "$at_srcdir/rename05.at:27:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+
+decho Creating directory structure
+mkdir directory
+mkdir directory/subdir
+genfile --file=directory/file
+
+decho Creating initial archive
+tar -cf archive.1 -g db.1 directory
+
+decho Renaming
+mv directory/subdir directory/subdir.0
+mv directory dir
+
+decho Creating incremental archive
+cp db.1 db.2
+tar -cf archive.2 -g db.2 dir
+
+mv dir orig
+
+decho First restore
+tar -xf archive.1 -g db.1
+find directory | sort
+
+decho Second restore
+tar -xf archive.2 -g db.2
+find dir | sort
+)"
+echo rename05.at:27 >"$at_check_line_file"
+
+at_trace_this=
+if test -n "$at_traceon"; then
+    echo 'Not enabling shell tracing (command contains an embedded newline)'
+fi
+
+if test -n "$at_trace_this"; then
+    ( $at_traceon;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+
+decho Creating directory structure
+mkdir directory
+mkdir directory/subdir
+genfile --file=directory/file
+
+decho Creating initial archive
+tar -cf archive.1 -g db.1 directory
+
+decho Renaming
+mv directory/subdir directory/subdir.0
+mv directory dir
+
+decho Creating incremental archive
+cp db.1 db.2
+tar -cf archive.2 -g db.2 dir
+
+mv dir orig
+
+decho First restore
+tar -xf archive.1 -g db.1
+find directory | sort
+
+decho Second restore
+tar -xf archive.2 -g db.2
+find dir | sort
+) ) >"$at_stdout" 2>"$at_stder1"
+    at_status=$?
+    grep '^ *+' "$at_stder1" >&2
+    grep -v '^ *+' "$at_stder1" >"$at_stderr"
+else
+    ( :;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+
+decho Creating directory structure
+mkdir directory
+mkdir directory/subdir
+genfile --file=directory/file
+
+decho Creating initial archive
+tar -cf archive.1 -g db.1 directory
+
+decho Renaming
+mv directory/subdir directory/subdir.0
+mv directory dir
+
+decho Creating incremental archive
+cp db.1 db.2
+tar -cf archive.2 -g db.2 dir
+
+mv dir orig
+
+decho First restore
+tar -xf archive.1 -g db.1
+find directory | sort
+
+decho Second restore
+tar -xf archive.2 -g db.2
+find dir | sort
+) ) >"$at_stdout" 2>"$at_stderr"
+    at_status=$?
+fi
+
+at_failed=false
+echo >>"$at_stderr"; echo "Creating directory structure
+Creating initial archive
+Renaming
+Creating incremental archive
+First restore
+Second restore
+" | $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; echo "Creating directory structure
+Creating initial archive
+Renaming
+Creating incremental archive
+First restore
+directory
+directory/file
+directory/subdir
+Second restore
+dir
+dir/subdir.0
+" | $at_diff - "$at_stdout" || at_failed=:
+case $at_status in
+   77) echo 77 > "$at_status_file"; exit 77;;
+   0) ;;
+   *) echo "$at_srcdir/rename05.at:27: exit code was $at_status, expected 0"
+      at_failed=:;;
+esac
+if $at_failed; then
+
+
+  echo 1 > "$at_status_file"
+  exit 1
+fi
+
+$at_traceon
+$at_traceoff
+echo "$at_srcdir/rename05.at:27:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+
+decho Creating directory structure
+mkdir directory
+mkdir directory/subdir
+genfile --file=directory/file
+
+decho Creating initial archive
+tar -cf archive.1 -g db.1 directory
+
+decho Renaming
+mv directory/subdir directory/subdir.0
+mv directory dir
+
+decho Creating incremental archive
+cp db.1 db.2
+tar -cf archive.2 -g db.2 dir
+
+mv dir orig
+
+decho First restore
+tar -xf archive.1 -g db.1
+find directory | sort
+
+decho Second restore
+tar -xf archive.2 -g db.2
+find dir | sort
+)"
+echo rename05.at:27 >"$at_check_line_file"
+
+at_trace_this=
+if test -n "$at_traceon"; then
+    echo 'Not enabling shell tracing (command contains an embedded newline)'
+fi
+
+if test -n "$at_trace_this"; then
+    ( $at_traceon;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+
+decho Creating directory structure
+mkdir directory
+mkdir directory/subdir
+genfile --file=directory/file
+
+decho Creating initial archive
+tar -cf archive.1 -g db.1 directory
+
+decho Renaming
+mv directory/subdir directory/subdir.0
+mv directory dir
+
+decho Creating incremental archive
+cp db.1 db.2
+tar -cf archive.2 -g db.2 dir
+
+mv dir orig
+
+decho First restore
+tar -xf archive.1 -g db.1
+find directory | sort
+
+decho Second restore
+tar -xf archive.2 -g db.2
+find dir | sort
+) ) >"$at_stdout" 2>"$at_stder1"
+    at_status=$?
+    grep '^ *+' "$at_stder1" >&2
+    grep -v '^ *+' "$at_stder1" >"$at_stderr"
+else
+    ( :;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+
+decho Creating directory structure
+mkdir directory
+mkdir directory/subdir
+genfile --file=directory/file
+
+decho Creating initial archive
+tar -cf archive.1 -g db.1 directory
+
+decho Renaming
+mv directory/subdir directory/subdir.0
+mv directory dir
+
+decho Creating incremental archive
+cp db.1 db.2
+tar -cf archive.2 -g db.2 dir
+
+mv dir orig
+
+decho First restore
+tar -xf archive.1 -g db.1
+find directory | sort
+
+decho Second restore
+tar -xf archive.2 -g db.2
+find dir | sort
+) ) >"$at_stdout" 2>"$at_stderr"
+    at_status=$?
+fi
+
+at_failed=false
+echo >>"$at_stderr"; echo "Creating directory structure
+Creating initial archive
+Renaming
+Creating incremental archive
+First restore
+Second restore
+" | $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; echo "Creating directory structure
+Creating initial archive
+Renaming
+Creating incremental archive
+First restore
+directory
+directory/file
+directory/subdir
+Second restore
+dir
+dir/subdir.0
+" | $at_diff - "$at_stdout" || at_failed=:
+case $at_status in
+   77) echo 77 > "$at_status_file"; exit 77;;
+   0) ;;
+   *) echo "$at_srcdir/rename05.at:27: exit code was $at_status, expected 0"
+      at_failed=:;;
+esac
+if $at_failed; then
+
+
+  echo 1 > "$at_status_file"
+  exit 1
+fi
+
+$at_traceon
+$at_traceoff
+echo "$at_srcdir/rename05.at:27:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+
+decho Creating directory structure
+mkdir directory
+mkdir directory/subdir
+genfile --file=directory/file
+
+decho Creating initial archive
+tar -cf archive.1 -g db.1 directory
+
+decho Renaming
+mv directory/subdir directory/subdir.0
+mv directory dir
+
+decho Creating incremental archive
+cp db.1 db.2
+tar -cf archive.2 -g db.2 dir
+
+mv dir orig
+
+decho First restore
+tar -xf archive.1 -g db.1
+find directory | sort
+
+decho Second restore
+tar -xf archive.2 -g db.2
+find dir | sort
+)"
+echo rename05.at:27 >"$at_check_line_file"
+
+at_trace_this=
+if test -n "$at_traceon"; then
+    echo 'Not enabling shell tracing (command contains an embedded newline)'
+fi
+
+if test -n "$at_trace_this"; then
+    ( $at_traceon;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+
+decho Creating directory structure
+mkdir directory
+mkdir directory/subdir
+genfile --file=directory/file
+
+decho Creating initial archive
+tar -cf archive.1 -g db.1 directory
+
+decho Renaming
+mv directory/subdir directory/subdir.0
+mv directory dir
+
+decho Creating incremental archive
+cp db.1 db.2
+tar -cf archive.2 -g db.2 dir
+
+mv dir orig
+
+decho First restore
+tar -xf archive.1 -g db.1
+find directory | sort
+
+decho Second restore
+tar -xf archive.2 -g db.2
+find dir | sort
 ) ) >"$at_stdout" 2>"$at_stder1"
     at_status=$?
     grep '^ *+' "$at_stder1" >&2
@@ -15927,108 +17047,59 @@ rm -rf *
 test -z "`sort < /dev/null 2>&1`" || exit 77
 
 
-mkdir foo
-genfile --file foo/file1
-genfile --file foo/file2
-
-mkdir foo/a
-genfile --file foo/a/filea
-
-mkdir foo/b
-genfile --file foo/b/fileb
-
-mkdir foo/c
-genfile --file foo/c/filec
-
-sleep 1
+decho Creating directory structure
+mkdir directory
+mkdir directory/subdir
+genfile --file=directory/file
 
-echo "First dump"
-echo "First dump">&2
-tar -g incr -cf arch.1 -v foo 2>tmperr
-sort tmperr >&2
+decho Creating initial archive
+tar -cf archive.1 -g db.1 directory
 
-# Shuffle directories:
-(cd foo
-mv a $$
-mv c a
-mv b c
-mv $$ b)
+decho Renaming
+mv directory/subdir directory/subdir.0
+mv directory dir
 
-echo "Second dump"
-echo "Second dump" >&2
-tar -g incr -cf arch.2 -v foo 2>tmperr
-sort tmperr >&2
+decho Creating incremental archive
+cp db.1 db.2
+tar -cf archive.2 -g db.2 dir
 
-tar xfg arch.1 /dev/null
+mv dir orig
 
-echo "Begin directory listing 1"
-find foo | sort
-echo "End directory listing 1"
+decho First restore
+tar -xf archive.1 -g db.1
+find directory | sort
 
-tar xfgv arch.2 /dev/null
-echo Begin directory listing 2
-find foo | sort
-echo End directory listing 2
+decho Second restore
+tar -xf archive.2 -g db.2
+find dir | sort
 ) ) >"$at_stdout" 2>"$at_stderr"
     at_status=$?
 fi
 
 at_failed=false
-echo >>"$at_stderr"; echo "First dump
-tar: foo/a: Directory is new
-tar: foo/b: Directory is new
-tar: foo/c: Directory is new
-Second dump
-tar: foo/a: Directory has been renamed from \`foo/c'
-tar: foo/b: Directory has been renamed from \`foo/a'
-tar: foo/c: Directory has been renamed from \`foo/b'
+echo >>"$at_stderr"; echo "Creating directory structure
+Creating initial archive
+Renaming
+Creating incremental archive
+First restore
+Second restore
 " | $at_diff - "$at_stderr" || at_failed=:
-echo >>"$at_stdout"; echo "First dump
-foo/
-foo/a/
-foo/b/
-foo/c/
-foo/file1
-foo/file2
-foo/a/filea
-foo/b/fileb
-foo/c/filec
-Second dump
-foo/
-foo/a/
-foo/b/
-foo/c/
-Begin directory listing 1
-foo
-foo/a
-foo/a/filea
-foo/b
-foo/b/fileb
-foo/c
-foo/c/filec
-foo/file1
-foo/file2
-End directory listing 1
-foo/
-foo/a/
-foo/b/
-foo/c/
-Begin directory listing 2
-foo
-foo/a
-foo/a/filec
-foo/b
-foo/b/filea
-foo/c
-foo/c/fileb
-foo/file1
-foo/file2
-End directory listing 2
+echo >>"$at_stdout"; echo "Creating directory structure
+Creating initial archive
+Renaming
+Creating incremental archive
+First restore
+directory
+directory/file
+directory/subdir
+Second restore
+dir
+dir/subdir.0
 " | $at_diff - "$at_stdout" || at_failed=:
 case $at_status in
    77) echo 77 > "$at_status_file"; exit 77;;
    0) ;;
-   *) echo "$at_srcdir/rename03.at:26: exit code was $at_status, expected 0"
+   *) echo "$at_srcdir/rename05.at:27: exit code was $at_status, expected 0"
       at_failed=:;;
 esac
 if $at_failed; then
@@ -16048,15 +17119,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  36 ) # 36. chtype.at:27: changed file types in incrementals
+  38 ) # 38. chtype.at:27: changed file types in incrementals
     at_setup_line='chtype.at:27'
     at_desc="changed file types in incrementals"
-    $at_quiet $ECHO_N " 36: changed file types in incrementals             $ECHO_C"
+    $at_quiet $ECHO_N " 38: changed file types in incrementals             $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "36. chtype.at:27: testing ..."
+      echo "38. chtype.at:27: testing ..."
       $at_traceon
 
 
@@ -16558,15 +17629,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  37 ) # 37. ignfail.at:23: ignfail
+  39 ) # 39. ignfail.at:23: ignfail
     at_setup_line='ignfail.at:23'
     at_desc="ignfail"
-    $at_quiet $ECHO_N " 37: ignfail                                        $ECHO_C"
+    $at_quiet $ECHO_N " 39: ignfail                                        $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "37. ignfail.at:23: testing ..."
+      echo "39. ignfail.at:23: testing ..."
       $at_traceon
 
 
 at_failed=false
 echo >>"$at_stderr"; echo "-----
 tar: file: Cannot open: Permission denied
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 -----
 tar: file: Warning: Cannot open: Permission denied
 -----
 tar: directory: Cannot open: Permission denied
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 -----
 tar: directory: Warning: Cannot open: Permission denied
 " | $at_diff - "$at_stderr" || at_failed=:
 at_failed=false
 echo >>"$at_stderr"; echo "-----
 tar: file: Cannot open: Permission denied
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 -----
 tar: file: Warning: Cannot open: Permission denied
 -----
 tar: directory: Cannot open: Permission denied
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 -----
 tar: directory: Warning: Cannot open: Permission denied
 " | $at_diff - "$at_stderr" || at_failed=:
 at_failed=false
 echo >>"$at_stderr"; echo "-----
 tar: file: Cannot open: Permission denied
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 -----
 tar: file: Warning: Cannot open: Permission denied
 -----
 tar: directory: Cannot open: Permission denied
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 -----
 tar: directory: Warning: Cannot open: Permission denied
 " | $at_diff - "$at_stderr" || at_failed=:
 at_failed=false
 echo >>"$at_stderr"; echo "-----
 tar: file: Cannot open: Permission denied
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 -----
 tar: file: Warning: Cannot open: Permission denied
 -----
 tar: directory: Cannot open: Permission denied
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 -----
 tar: directory: Warning: Cannot open: Permission denied
 " | $at_diff - "$at_stderr" || at_failed=:
 at_failed=false
 echo >>"$at_stderr"; echo "-----
 tar: file: Cannot open: Permission denied
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 -----
 tar: file: Warning: Cannot open: Permission denied
 -----
 tar: directory: Cannot open: Permission denied
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 -----
 tar: directory: Warning: Cannot open: Permission denied
 " | $at_diff - "$at_stderr" || at_failed=:
@@ -17562,15 +18633,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  38 ) # 38. link01.at:33: link count gt 2
+  40 ) # 40. link01.at:33: link count gt 2
     at_setup_line='link01.at:33'
     at_desc="link count gt 2"
-    $at_quiet $ECHO_N " 38: link count gt 2                                $ECHO_C"
+    $at_quiet $ECHO_N " 40: link count gt 2                                $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "38. link01.at:33: testing ..."
+      echo "40. link01.at:33: testing ..."
       $at_traceon
 
 
@@ -18101,15 +19172,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  39 ) # 39. longv7.at:24: long names in V7 archives
+  41 ) # 41. longv7.at:24: long names in V7 archives
     at_setup_line='longv7.at:24'
     at_desc="long names in V7 archives"
-    $at_quiet $ECHO_N " 39: long names in V7 archives                      $ECHO_C"
+    $at_quiet $ECHO_N " 41: long names in V7 archives                      $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "39. longv7.at:24: testing ..."
+      echo "41. longv7.at:24: testing ..."
       $at_traceon
 
 
@@ -18185,7 +19256,7 @@ fi
 
 at_failed=false
 echo >>"$at_stderr"; echo "tar: this_is_a_very_long_name_for_a_directory_which_causes_problems/this_is_a_very_long_file_name_which_raises_issues.c: file name is too long (max 99); not dumped
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 " | $at_diff - "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; echo "separator
 this_is_a_very_long_name_for_a_directory_which_causes_problems/
@@ -18213,15 +19284,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  40 ) # 40. long01.at:28: long file names divisible by block size
+  42 ) # 42. long01.at:28: long file names divisible by block size
     at_setup_line='long01.at:28'
     at_desc="long file names divisible by block size"
-    $at_quiet $ECHO_N " 40: long file names divisible by block size        $ECHO_C"
+    $at_quiet $ECHO_N " 42: long file names divisible by block size        $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "40. long01.at:28: testing ..."
+      echo "42. long01.at:28: testing ..."
       $at_traceon
 
 
@@ -18401,15 +19472,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  41 ) # 41. lustar01.at:21: ustar: unsplittable file name
+  43 ) # 43. lustar01.at:21: ustar: unsplittable file name
     at_setup_line='lustar01.at:21'
     at_desc="ustar: unsplittable file name"
-    $at_quiet $ECHO_N " 41: ustar: unsplittable file name                  $ECHO_C"
+    $at_quiet $ECHO_N " 43: ustar: unsplittable file name                  $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "41. lustar01.at:21: testing ..."
+      echo "43. lustar01.at:21: testing ..."
       $at_traceon
 
 
@@ -18472,7 +19543,7 @@ fi
 
 at_failed=false
 echo >>"$at_stderr"; echo "tar: this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix: file name is too long (cannot be split); not dumped
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 " | $at_diff - "$at_stderr" || at_failed=:
 $at_diff "$at_devnull" "$at_stdout" || at_failed=:
 case $at_status in
@@ -18498,15 +19569,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  42 ) # 42. lustar02.at:21: ustar: unsplittable path name
+  44 ) # 44. lustar02.at:21: ustar: unsplittable path name
     at_setup_line='lustar02.at:21'
     at_desc="ustar: unsplittable path name"
-    $at_quiet $ECHO_N " 42: ustar: unsplittable path name                  $ECHO_C"
+    $at_quiet $ECHO_N " 44: ustar: unsplittable path name                  $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "42. lustar02.at:21: testing ..."
+      echo "44. lustar02.at:21: testing ..."
       $at_traceon
 
 
@@ -18576,7 +19647,7 @@ fi
 
 at_failed=false
 echo >>"$at_stderr"; echo "tar: this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/: file name is too long (cannot be split); not dumped
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 " | $at_diff - "$at_stderr" || at_failed=:
 $at_diff "$at_devnull" "$at_stdout" || at_failed=:
 case $at_status in
@@ -18602,15 +19673,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  43 ) # 43. lustar03.at:21: ustar: splitting long names
+  45 ) # 45. lustar03.at:21: ustar: splitting long names
     at_setup_line='lustar03.at:21'
     at_desc="ustar: splitting long names"
-    $at_quiet $ECHO_N " 43: ustar: splitting long names                    $ECHO_C"
+    $at_quiet $ECHO_N " 45: ustar: splitting long names                    $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "43. lustar03.at:21: testing ..."
+      echo "45. lustar03.at:21: testing ..."
       $at_traceon
 
 
@@ -18712,15 +19783,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  44 ) # 44. multiv01.at:23: multivolume dumps from pipes
+  46 ) # 46. multiv01.at:23: multivolume dumps from pipes
     at_setup_line='multiv01.at:23'
     at_desc="multivolume dumps from pipes"
-    $at_quiet $ECHO_N " 44: multivolume dumps from pipes                   $ECHO_C"
+    $at_quiet $ECHO_N " 46: multivolume dumps from pipes                   $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "44. multiv01.at:23: testing ..."
+      echo "46. multiv01.at:23: testing ..."
       $at_traceon
 
 
@@ -19190,15 +20261,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  45 ) # 45. multiv02.at:28: skipping a straddling member
+  47 ) # 47. multiv02.at:28: skipping a straddling member
     at_setup_line='multiv02.at:28'
     at_desc="skipping a straddling member"
-    $at_quiet $ECHO_N " 45: skipping a straddling member                   $ECHO_C"
+    $at_quiet $ECHO_N " 47: skipping a straddling member                   $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "45. multiv02.at:28: testing ..."
+      echo "47. multiv02.at:28: testing ..."
       $at_traceon
 
 
@@ -19499,15 +20570,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  46 ) # 46. multiv03.at:30: MV archive & long filenames
+  48 ) # 48. multiv03.at:30: MV archive & long filenames
     at_setup_line='multiv03.at:30'
     at_desc="MV archive & long filenames"
-    $at_quiet $ECHO_N " 46: MV archive & long filenames                    $ECHO_C"
+    $at_quiet $ECHO_N " 48: MV archive & long filenames                    $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "46. multiv03.at:30: testing ..."
+      echo "48. multiv03.at:30: testing ..."
       $at_traceon
 
 
@@ -19829,15 +20900,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  47 ) # 47. multiv04.at:36: split directory members in a MV archive
+  49 ) # 49. multiv04.at:36: split directory members in a MV archive
     at_setup_line='multiv04.at:36'
     at_desc="split directory members in a MV archive"
-    $at_quiet $ECHO_N " 47: split directory members in a MV archive        $ECHO_C"
+    $at_quiet $ECHO_N " 49: split directory members in a MV archive        $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "47. multiv04.at:36: testing ..."
+      echo "49. multiv04.at:36: testing ..."
       $at_traceon
 
 
@@ -20083,15 +21154,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  48 ) # 48. multiv05.at:26: Restoring after an out of sync folume
+  50 ) # 50. multiv05.at:26: Restoring after an out of sync volume
     at_setup_line='multiv05.at:26'
-    at_desc="Restoring after an out of sync folume"
-    $at_quiet $ECHO_N " 48: Restoring after an out of sync folume          $ECHO_C"
+    at_desc="Restoring after an out of sync volume"
+    $at_quiet $ECHO_N " 50: Restoring after an out of sync volume          $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "48. multiv05.at:26: testing ..."
+      echo "50. multiv05.at:26: testing ..."
       $at_traceon
 
 
@@ -20270,14 +21341,214 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  49 ) # 49. old.at:23: old archives
+  51 ) # 51. multiv06.at:27: Multivolumes with L=record_size
+    at_setup_line='multiv06.at:27'
+    at_desc="Multivolumes with L=record_size"
+    $at_quiet $ECHO_N " 51: Multivolumes with L=record_size                $ECHO_C"
+    at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+    echo "#                             -*- compilation -*-" >> "$at_group_log"
+    (
+      echo "51. multiv06.at:27: testing ..."
+      $at_traceon
+
+
+
+
+
+  $at_traceoff
+echo "$at_srcdir/multiv06.at:30:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+decho Creating file
+genfile --length 20139 --file file
+decho Creating archive
+tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file
+decho Testing archive
+tar -t -M -farc.1 -farc.2 -farc.3)"
+echo multiv06.at:30 >"$at_check_line_file"
+
+at_trace_this=
+if test -n "$at_traceon"; then
+    echo 'Not enabling shell tracing (command contains an embedded newline)'
+fi
+
+if test -n "$at_trace_this"; then
+    ( $at_traceon;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+decho Creating file
+genfile --length 20139 --file file
+decho Creating archive
+tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file
+decho Testing archive
+tar -t -M -farc.1 -farc.2 -farc.3) ) >"$at_stdout" 2>"$at_stder1"
+    at_status=$?
+    grep '^ *+' "$at_stder1" >&2
+    grep -v '^ *+' "$at_stder1" >"$at_stderr"
+else
+    ( :;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+decho Creating file
+genfile --length 20139 --file file
+decho Creating archive
+tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file
+decho Testing archive
+tar -t -M -farc.1 -farc.2 -farc.3) ) >"$at_stdout" 2>"$at_stderr"
+    at_status=$?
+fi
+
+at_failed=false
+echo >>"$at_stderr"; echo "Creating file
+Creating archive
+Testing archive
+" | $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; echo "Creating file
+Creating archive
+Testing archive
+file
+" | $at_diff - "$at_stdout" || at_failed=:
+case $at_status in
+   77) echo 77 > "$at_status_file"; exit 77;;
+   0) ;;
+   *) echo "$at_srcdir/multiv06.at:30: exit code was $at_status, expected 0"
+      at_failed=:;;
+esac
+if $at_failed; then
+
+
+  echo 1 > "$at_status_file"
+  exit 1
+fi
+
+$at_traceon
+$at_traceoff
+echo "$at_srcdir/multiv06.at:30:
+mkdir pax
+(cd pax
+TEST_TAR_FORMAT=pax
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H pax\"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+decho Creating file
+genfile --length 20139 --file file
+decho Creating archive
+tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file
+decho Testing archive
+tar -t -M -farc.1 -farc.2 -farc.3)"
+echo multiv06.at:30 >"$at_check_line_file"
+
+at_trace_this=
+if test -n "$at_traceon"; then
+    echo 'Not enabling shell tracing (command contains an embedded newline)'
+fi
+
+if test -n "$at_trace_this"; then
+    ( $at_traceon;
+mkdir pax
+(cd pax
+TEST_TAR_FORMAT=pax
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H pax"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+decho Creating file
+genfile --length 20139 --file file
+decho Creating archive
+tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file
+decho Testing archive
+tar -t -M -farc.1 -farc.2 -farc.3) ) >"$at_stdout" 2>"$at_stder1"
+    at_status=$?
+    grep '^ *+' "$at_stder1" >&2
+    grep -v '^ *+' "$at_stder1" >"$at_stderr"
+else
+    ( :;
+mkdir pax
+(cd pax
+TEST_TAR_FORMAT=pax
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H pax"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+decho Creating file
+genfile --length 20139 --file file
+decho Creating archive
+tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file
+decho Testing archive
+tar -t -M -farc.1 -farc.2 -farc.3) ) >"$at_stdout" 2>"$at_stderr"
+    at_status=$?
+fi
+
+at_failed=false
+echo >>"$at_stderr"; echo "Creating file
+Creating archive
+Testing archive
+" | $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; echo "Creating file
+Creating archive
+Testing archive
+file
+" | $at_diff - "$at_stdout" || at_failed=:
+case $at_status in
+   77) echo 77 > "$at_status_file"; exit 77;;
+   0) ;;
+   *) echo "$at_srcdir/multiv06.at:30: exit code was $at_status, expected 0"
+      at_failed=:;;
+esac
+if $at_failed; then
+
+
+  echo 1 > "$at_status_file"
+  exit 1
+fi
+
+$at_traceon
+
+
+
+      $at_traceoff
+      $at_times_p && times >"$at_times_file"
+    ) 5>&1 2>&1 | eval $at_tee_pipe
+    at_status=`cat "$at_status_file"`
+    ;;
+
+  52 ) # 52. old.at:23: old archives
     at_setup_line='old.at:23'
     at_desc="old archives"
-    $at_quiet $ECHO_N " 49: old archives                                   $ECHO_C"
+    $at_quiet $ECHO_N " 52: old archives                                   $ECHO_C"
     at_xfail=no
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "49. old.at:23: testing ..."
+      echo "52. old.at:23: testing ..."
       $at_traceon
 
 
@@ -20341,15 +21612,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  50 ) # 50. recurse.at:21: recurse
+  53 ) # 53. recurse.at:21: recurse
     at_setup_line='recurse.at:21'
     at_desc="recurse"
-    $at_quiet $ECHO_N " 50: recurse                                        $ECHO_C"
+    $at_quiet $ECHO_N " 53: recurse                                        $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "50. recurse.at:21: testing ..."
+      echo "53. recurse.at:21: testing ..."
       $at_traceon
 
 
@@ -20745,15 +22016,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  51 ) # 51. same-order01.at:26: working -C with --same-order
+  54 ) # 54. same-order01.at:26: working -C with --same-order
     at_setup_line='same-order01.at:26'
     at_desc="working -C with --same-order"
-    $at_quiet $ECHO_N " 51: working -C with --same-order                   $ECHO_C"
+    $at_quiet $ECHO_N " 54: working -C with --same-order                   $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "51. same-order01.at:26: testing ..."
+      echo "54. same-order01.at:26: testing ..."
       $at_traceon
 
 
@@ -21274,15 +22545,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  52 ) # 52. same-order02.at:25: multiple -C options
+  55 ) # 55. same-order02.at:25: multiple -C options
     at_setup_line='same-order02.at:25'
     at_desc="multiple -C options"
-    $at_quiet $ECHO_N " 52: multiple -C options                            $ECHO_C"
+    $at_quiet $ECHO_N " 55: multiple -C options                            $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "52. same-order02.at:25: testing ..."
+      echo "55. same-order02.at:25: testing ..."
       $at_traceon
 
 
@@ -21823,15 +23094,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  53 ) # 53. shortrec.at:25: short records
+  56 ) # 56. shortrec.at:25: short records
     at_setup_line='shortrec.at:25'
     at_desc="short records"
-    $at_quiet $ECHO_N " 53: short records                                  $ECHO_C"
+    $at_quiet $ECHO_N " 56: short records                                  $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "53. shortrec.at:25: testing ..."
+      echo "56. shortrec.at:25: testing ..."
       $at_traceon
 
 
@@ -22282,15 +23553,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  54 ) # 54. sparse01.at:21: sparse files
+  57 ) # 57. sparse01.at:21: sparse files
     at_setup_line='sparse01.at:21'
     at_desc="sparse files"
-    $at_quiet $ECHO_N " 54: sparse files                                   $ECHO_C"
+    $at_quiet $ECHO_N " 57: sparse files                                   $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "54. sparse01.at:21: testing ..."
+      echo "57. sparse01.at:21: testing ..."
       $at_traceon
 
 
@@ -22621,15 +23892,15 @@ done
     at_status=`cat "$at_status_file"`
     ;;
 
-  55 ) # 55. sparse02.at:21: extracting sparse file over a pipe
+  58 ) # 58. sparse02.at:21: extracting sparse file over a pipe
     at_setup_line='sparse02.at:21'
     at_desc="extracting sparse file over a pipe"
-    $at_quiet $ECHO_N " 55: extracting sparse file over a pipe             $ECHO_C"
+    $at_quiet $ECHO_N " 58: extracting sparse file over a pipe             $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "55. sparse02.at:21: testing ..."
+      echo "58. sparse02.at:21: testing ..."
       $at_traceon
 
 
@@ -22895,15 +24166,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  56 ) # 56. sparse03.at:21: storing sparse files > 8G
+  59 ) # 59. sparse03.at:21: storing sparse files > 8G
     at_setup_line='sparse03.at:21'
     at_desc="storing sparse files > 8G"
-    $at_quiet $ECHO_N " 56: storing sparse files > 8G                      $ECHO_C"
+    $at_quiet $ECHO_N " 59: storing sparse files > 8G                      $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "56. sparse03.at:21: testing ..."
+      echo "59. sparse03.at:21: testing ..."
       $at_traceon
 
 
@@ -23041,15 +24312,15 @@ done
     at_status=`cat "$at_status_file"`
     ;;
 
-  57 ) # 57. sparsemv.at:21: sparse files in MV archives
+  60 ) # 60. sparsemv.at:21: sparse files in MV archives
     at_setup_line='sparsemv.at:21'
     at_desc="sparse files in MV archives"
-    $at_quiet $ECHO_N " 57: sparse files in MV archives                    $ECHO_C"
+    $at_quiet $ECHO_N " 60: sparse files in MV archives                    $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "57. sparsemv.at:21: testing ..."
+      echo "60. sparsemv.at:21: testing ..."
       $at_traceon
 
 
@@ -23079,18 +24350,18 @@ echo \"Pass 1: Split between data blocks\"
 echo \"Create archive\"
 tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1
 echo \"Test archive\"
-tar -t -M -f arc.1 -f arc.2
+tar --record-size=512 -t -M -f arc.1 -f arc.2
 echo \"Compare archive\"
-tar -d -M -f arc.1 -f arc.2
+tar --record-size=512 -d -M -f arc.1 -f arc.2
 
 echo \"Pass 2: Split within a data block\"
 genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77
 echo \"Create archive\"
 tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1
 echo \"Test archive\"
-tar -t -M -f arc.1 -f arc.2
+tar --record-size=512 -t -M -f arc.1 -f arc.2
 echo \"Compare archive\"
-tar -d -M -f arc.1 -f arc.2
+tar --record-size=512 -d -M -f arc.1 -f arc.2
 )"
 echo sparsemv.at:31 >"$at_check_line_file"
 
@@ -23115,18 +24386,18 @@ echo "Pass 1: Split between data blocks"
 echo "Create archive"
 tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1
 echo "Test archive"
-tar -t -M -f arc.1 -f arc.2
+tar --record-size=512 -t -M -f arc.1 -f arc.2
 echo "Compare archive"
-tar -d -M -f arc.1 -f arc.2
+tar --record-size=512 -d -M -f arc.1 -f arc.2
 
 echo "Pass 2: Split within a data block"
 genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77
 echo "Create archive"
 tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1
 echo "Test archive"
-tar -t -M -f arc.1 -f arc.2
+tar --record-size=512 -t -M -f arc.1 -f arc.2
 echo "Compare archive"
-tar -d -M -f arc.1 -f arc.2
+tar --record-size=512 -d -M -f arc.1 -f arc.2
 ) ) >"$at_stdout" 2>"$at_stder1"
     at_status=$?
     grep '^ *+' "$at_stder1" >&2
@@ -23147,18 +24418,18 @@ echo "Pass 1: Split between data blocks"
 echo "Create archive"
 tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1
 echo "Test archive"
-tar -t -M -f arc.1 -f arc.2
+tar --record-size=512 -t -M -f arc.1 -f arc.2
 echo "Compare archive"
-tar -d -M -f arc.1 -f arc.2
+tar --record-size=512 -d -M -f arc.1 -f arc.2
 
 echo "Pass 2: Split within a data block"
 genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77
 echo "Create archive"
 tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1
 echo "Test archive"
-tar -t -M -f arc.1 -f arc.2
+tar --record-size=512 -t -M -f arc.1 -f arc.2
 echo "Compare archive"
-tar -d -M -f arc.1 -f arc.2
+tar --record-size=512 -d -M -f arc.1 -f arc.2
 ) ) >"$at_stdout" 2>"$at_stderr"
     at_status=$?
 fi
@@ -23206,18 +24477,18 @@ echo \"Pass 1: Split between data blocks\"
 echo \"Create archive\"
 tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1
 echo \"Test archive\"
-tar -t -M -f arc.1 -f arc.2
+tar --record-size=512 -t -M -f arc.1 -f arc.2
 echo \"Compare archive\"
-tar -d -M -f arc.1 -f arc.2
+tar --record-size=512 -d -M -f arc.1 -f arc.2
 
 echo \"Pass 2: Split within a data block\"
 genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77
 echo \"Create archive\"
 tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1
 echo \"Test archive\"
-tar -t -M -f arc.1 -f arc.2
+tar --record-size=512 -t -M -f arc.1 -f arc.2
 echo \"Compare archive\"
-tar -d -M -f arc.1 -f arc.2
+tar --record-size=512 -d -M -f arc.1 -f arc.2
 )"
 echo sparsemv.at:31 >"$at_check_line_file"
 
@@ -23242,18 +24513,18 @@ echo "Pass 1: Split between data blocks"
 echo "Create archive"
 tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1
 echo "Test archive"
-tar -t -M -f arc.1 -f arc.2
+tar --record-size=512 -t -M -f arc.1 -f arc.2
 echo "Compare archive"
-tar -d -M -f arc.1 -f arc.2
+tar --record-size=512 -d -M -f arc.1 -f arc.2
 
 echo "Pass 2: Split within a data block"
 genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77
 echo "Create archive"
 tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1
 echo "Test archive"
-tar -t -M -f arc.1 -f arc.2
+tar --record-size=512 -t -M -f arc.1 -f arc.2
 echo "Compare archive"
-tar -d -M -f arc.1 -f arc.2
+tar --record-size=512 -d -M -f arc.1 -f arc.2
 ) ) >"$at_stdout" 2>"$at_stder1"
     at_status=$?
     grep '^ *+' "$at_stder1" >&2
@@ -23274,18 +24545,18 @@ echo "Pass 1: Split between data blocks"
 echo "Create archive"
 tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1
 echo "Test archive"
-tar -t -M -f arc.1 -f arc.2
+tar --record-size=512 -t -M -f arc.1 -f arc.2
 echo "Compare archive"
-tar -d -M -f arc.1 -f arc.2
+tar --record-size=512 -d -M -f arc.1 -f arc.2
 
 echo "Pass 2: Split within a data block"
 genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77
 echo "Create archive"
 tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1
 echo "Test archive"
-tar -t -M -f arc.1 -f arc.2
+tar --record-size=512 -t -M -f arc.1 -f arc.2
 echo "Compare archive"
-tar -d -M -f arc.1 -f arc.2
+tar --record-size=512 -d -M -f arc.1 -f arc.2
 ) ) >"$at_stdout" 2>"$at_stderr"
     at_status=$?
 fi
@@ -23326,15 +24597,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  58 ) # 58. spmvp00.at:21: sparse files in PAX MV archives, v.0.0
+  61 ) # 61. spmvp00.at:21: sparse files in PAX MV archives, v.0.0
     at_setup_line='spmvp00.at:21'
     at_desc="sparse files in PAX MV archives, v.0.0"
-    $at_quiet $ECHO_N " 58: sparse files in PAX MV archives, v.0.0         $ECHO_C"
+    $at_quiet $ECHO_N " 61: sparse files in PAX MV archives, v.0.0         $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "58. spmvp00.at:21: testing ..."
+      echo "61. spmvp00.at:21: testing ..."
       $at_traceon
 
 
@@ -23443,7 +24714,9 @@ tar -d -M -f arc.1 -f arc.2 -f arc.3
 fi
 
 at_failed=false
-$at_diff "$at_devnull" "$at_stderr" || at_failed=:
+echo >>"$at_stderr"; echo "tar: Record size = 12 blocks
+tar: Record size = 12 blocks
+" | $at_diff - "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; echo "Pass 1: Split between data blocks
 Create archive
 Test archive
@@ -23478,15 +24751,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  59 ) # 59. spmvp01.at:21: sparse files in PAX MV archives, v.0.1
+  62 ) # 62. spmvp01.at:21: sparse files in PAX MV archives, v.0.1
     at_setup_line='spmvp01.at:21'
     at_desc="sparse files in PAX MV archives, v.0.1"
-    $at_quiet $ECHO_N " 59: sparse files in PAX MV archives, v.0.1         $ECHO_C"
+    $at_quiet $ECHO_N " 62: sparse files in PAX MV archives, v.0.1         $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "59. spmvp01.at:21: testing ..."
+      echo "62. spmvp01.at:21: testing ..."
       $at_traceon
 
 
@@ -23595,7 +24868,9 @@ tar -d -M -f arc.1 -f arc.2 -f arc.3
 fi
 
 at_failed=false
-$at_diff "$at_devnull" "$at_stderr" || at_failed=:
+echo >>"$at_stderr"; echo "tar: Record size = 12 blocks
+tar: Record size = 12 blocks
+" | $at_diff - "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; echo "Pass 1: Split between data blocks
 Create archive
 Test archive
@@ -23630,15 +24905,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  60 ) # 60. spmvp10.at:21: sparse files in PAX MV archives, v.1.0
+  63 ) # 63. spmvp10.at:21: sparse files in PAX MV archives, v.1.0
     at_setup_line='spmvp10.at:21'
     at_desc="sparse files in PAX MV archives, v.1.0"
-    $at_quiet $ECHO_N " 60: sparse files in PAX MV archives, v.1.0         $ECHO_C"
+    $at_quiet $ECHO_N " 63: sparse files in PAX MV archives, v.1.0         $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "60. spmvp10.at:21: testing ..."
+      echo "63. spmvp10.at:21: testing ..."
       $at_traceon
 
 
@@ -23747,7 +25022,9 @@ tar -d -M -f arc.1 -f arc.2 -f arc.3
 fi
 
 at_failed=false
-$at_diff "$at_devnull" "$at_stderr" || at_failed=:
+echo >>"$at_stderr"; echo "tar: Record size = 12 blocks
+tar: Record size = 12 blocks
+" | $at_diff - "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; echo "Pass 1: Split between data blocks
 Create archive
 Test archive
@@ -23782,15 +25059,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  61 ) # 61. update.at:27: update unchanged directories
+  64 ) # 64. update.at:27: update unchanged directories
     at_setup_line='update.at:27'
     at_desc="update unchanged directories"
-    $at_quiet $ECHO_N " 61: update unchanged directories                   $ECHO_C"
+    $at_quiet $ECHO_N " 64: update unchanged directories                   $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "61. update.at:27: testing ..."
+      echo "64. update.at:27: testing ..."
       $at_traceon
 
 
@@ -24326,15 +25603,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  62 ) # 62. volume.at:23: volume
+  65 ) # 65. volume.at:23: volume
     at_setup_line='volume.at:23'
     at_desc="volume"
-    $at_quiet $ECHO_N " 62: volume                                         $ECHO_C"
+    $at_quiet $ECHO_N " 65: volume                                         $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "62. volume.at:23: testing ..."
+      echo "65. volume.at:23: testing ..."
       $at_traceon
 
 
@@ -24584,15 +25861,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  63 ) # 63. volsize.at:29: volume header size
+  66 ) # 66. volsize.at:29: volume header size
     at_setup_line='volsize.at:29'
     at_desc="volume header size"
-    $at_quiet $ECHO_N " 63: volume header size                             $ECHO_C"
+    $at_quiet $ECHO_N " 66: volume header size                             $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "63. volsize.at:29: testing ..."
+      echo "66. volsize.at:29: testing ..."
       $at_traceon
 
 
@@ -24619,7 +25896,7 @@ tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DAT
 echo Short Listing
 tar tf \$TEST_DATA_DIR/abc.tar
 echo Verbose Listing
-tar tfv \$TEST_DATA_DIR/abc.tar
+tar --utc -tvf \$TEST_DATA_DIR/abc.tar
 echo Extracted directory
 tar xf \$TEST_DATA_DIR/abc.tar
 find abc|sort
@@ -24651,7 +25928,7 @@ tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DAT
 echo Short Listing
 tar tf $TEST_DATA_DIR/abc.tar
 echo Verbose Listing
-tar tfv $TEST_DATA_DIR/abc.tar
+tar --utc -tvf $TEST_DATA_DIR/abc.tar
 echo Extracted directory
 tar xf $TEST_DATA_DIR/abc.tar
 find abc|sort
@@ -24679,7 +25956,7 @@ tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DAT
 echo Short Listing
 tar tf $TEST_DATA_DIR/abc.tar
 echo Verbose Listing
-tar tfv $TEST_DATA_DIR/abc.tar
+tar --utc -tvf $TEST_DATA_DIR/abc.tar
 echo Extracted directory
 tar xf $TEST_DATA_DIR/abc.tar
 find abc|sort
@@ -24688,13 +25965,15 @@ find abc|sort
 fi
 
 at_failed=false
-$at_diff "$at_devnull" "$at_stderr" || at_failed=:
+echo >>"$at_stderr"; echo "tar: Record size = 5 blocks
+tar: Record size = 5 blocks
+" | $at_diff - "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; echo "Short Listing
 abc/not-a-file.gif
 abc/CCC
 Verbose Listing
-V--------- 0/0            1536 2006-05-09 01:07 abc/not-a-file.gif--Volume Header--
--rw-r--r-- tom/users         0 2006-04-22 22:52 abc/CCC
+V--------- 0/0            1536 2006-05-08 22:07 abc/not-a-file.gif--Volume Header--
+-rw-r--r-- tom/users         0 2006-04-22 19:52 abc/CCC
 Extracted directory
 abc
 abc/CCC
@@ -24733,7 +26012,7 @@ tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DAT
 echo Short Listing
 tar tf \$TEST_DATA_DIR/abc.tar
 echo Verbose Listing
-tar tfv \$TEST_DATA_DIR/abc.tar
+tar --utc -tvf \$TEST_DATA_DIR/abc.tar
 echo Extracted directory
 tar xf \$TEST_DATA_DIR/abc.tar
 find abc|sort
@@ -24765,7 +26044,7 @@ tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DAT
 echo Short Listing
 tar tf $TEST_DATA_DIR/abc.tar
 echo Verbose Listing
-tar tfv $TEST_DATA_DIR/abc.tar
+tar --utc -tvf $TEST_DATA_DIR/abc.tar
 echo Extracted directory
 tar xf $TEST_DATA_DIR/abc.tar
 find abc|sort
@@ -24793,7 +26072,7 @@ tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DAT
 echo Short Listing
 tar tf $TEST_DATA_DIR/abc.tar
 echo Verbose Listing
-tar tfv $TEST_DATA_DIR/abc.tar
+tar --utc -tvf $TEST_DATA_DIR/abc.tar
 echo Extracted directory
 tar xf $TEST_DATA_DIR/abc.tar
 find abc|sort
@@ -24802,13 +26081,15 @@ find abc|sort
 fi
 
 at_failed=false
-$at_diff "$at_devnull" "$at_stderr" || at_failed=:
+echo >>"$at_stderr"; echo "tar: Record size = 5 blocks
+tar: Record size = 5 blocks
+" | $at_diff - "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; echo "Short Listing
 abc/not-a-file.gif
 abc/CCC
 Verbose Listing
-V--------- 0/0            1536 2006-05-09 01:07 abc/not-a-file.gif--Volume Header--
--rw-r--r-- tom/users         0 2006-04-22 22:52 abc/CCC
+V--------- 0/0            1536 2006-05-08 22:07 abc/not-a-file.gif--Volume Header--
+-rw-r--r-- tom/users         0 2006-04-22 19:52 abc/CCC
 Extracted directory
 abc
 abc/CCC
@@ -24847,7 +26128,7 @@ tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DAT
 echo Short Listing
 tar tf \$TEST_DATA_DIR/abc.tar
 echo Verbose Listing
-tar tfv \$TEST_DATA_DIR/abc.tar
+tar --utc -tvf \$TEST_DATA_DIR/abc.tar
 echo Extracted directory
 tar xf \$TEST_DATA_DIR/abc.tar
 find abc|sort
@@ -24879,7 +26160,7 @@ tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DAT
 echo Short Listing
 tar tf $TEST_DATA_DIR/abc.tar
 echo Verbose Listing
-tar tfv $TEST_DATA_DIR/abc.tar
+tar --utc -tvf $TEST_DATA_DIR/abc.tar
 echo Extracted directory
 tar xf $TEST_DATA_DIR/abc.tar
 find abc|sort
@@ -24907,7 +26188,7 @@ tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DAT
 echo Short Listing
 tar tf $TEST_DATA_DIR/abc.tar
 echo Verbose Listing
-tar tfv $TEST_DATA_DIR/abc.tar
+tar --utc -tvf $TEST_DATA_DIR/abc.tar
 echo Extracted directory
 tar xf $TEST_DATA_DIR/abc.tar
 find abc|sort
@@ -24916,13 +26197,15 @@ find abc|sort
 fi
 
 at_failed=false
-$at_diff "$at_devnull" "$at_stderr" || at_failed=:
+echo >>"$at_stderr"; echo "tar: Record size = 5 blocks
+tar: Record size = 5 blocks
+" | $at_diff - "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; echo "Short Listing
 abc/not-a-file.gif
 abc/CCC
 Verbose Listing
-V--------- 0/0            1536 2006-05-09 01:07 abc/not-a-file.gif--Volume Header--
--rw-r--r-- tom/users         0 2006-04-22 22:52 abc/CCC
+V--------- 0/0            1536 2006-05-08 22:07 abc/not-a-file.gif--Volume Header--
+-rw-r--r-- tom/users         0 2006-04-22 19:52 abc/CCC
 Extracted directory
 abc
 abc/CCC
@@ -24961,7 +26244,7 @@ tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DAT
 echo Short Listing
 tar tf \$TEST_DATA_DIR/abc.tar
 echo Verbose Listing
-tar tfv \$TEST_DATA_DIR/abc.tar
+tar --utc -tvf \$TEST_DATA_DIR/abc.tar
 echo Extracted directory
 tar xf \$TEST_DATA_DIR/abc.tar
 find abc|sort
@@ -24993,7 +26276,7 @@ tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DAT
 echo Short Listing
 tar tf $TEST_DATA_DIR/abc.tar
 echo Verbose Listing
-tar tfv $TEST_DATA_DIR/abc.tar
+tar --utc -tvf $TEST_DATA_DIR/abc.tar
 echo Extracted directory
 tar xf $TEST_DATA_DIR/abc.tar
 find abc|sort
@@ -25021,7 +26304,7 @@ tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DAT
 echo Short Listing
 tar tf $TEST_DATA_DIR/abc.tar
 echo Verbose Listing
-tar tfv $TEST_DATA_DIR/abc.tar
+tar --utc -tvf $TEST_DATA_DIR/abc.tar
 echo Extracted directory
 tar xf $TEST_DATA_DIR/abc.tar
 find abc|sort
@@ -25030,13 +26313,15 @@ find abc|sort
 fi
 
 at_failed=false
-$at_diff "$at_devnull" "$at_stderr" || at_failed=:
+echo >>"$at_stderr"; echo "tar: Record size = 5 blocks
+tar: Record size = 5 blocks
+" | $at_diff - "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; echo "Short Listing
 abc/not-a-file.gif
 abc/CCC
 Verbose Listing
-V--------- 0/0            1536 2006-05-09 01:07 abc/not-a-file.gif--Volume Header--
--rw-r--r-- tom/users         0 2006-04-22 22:52 abc/CCC
+V--------- 0/0            1536 2006-05-08 22:07 abc/not-a-file.gif--Volume Header--
+-rw-r--r-- tom/users         0 2006-04-22 19:52 abc/CCC
 Extracted directory
 abc
 abc/CCC
@@ -25075,7 +26360,7 @@ tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DAT
 echo Short Listing
 tar tf \$TEST_DATA_DIR/abc.tar
 echo Verbose Listing
-tar tfv \$TEST_DATA_DIR/abc.tar
+tar --utc -tvf \$TEST_DATA_DIR/abc.tar
 echo Extracted directory
 tar xf \$TEST_DATA_DIR/abc.tar
 find abc|sort
@@ -25107,7 +26392,7 @@ tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DAT
 echo Short Listing
 tar tf $TEST_DATA_DIR/abc.tar
 echo Verbose Listing
-tar tfv $TEST_DATA_DIR/abc.tar
+tar --utc -tvf $TEST_DATA_DIR/abc.tar
 echo Extracted directory
 tar xf $TEST_DATA_DIR/abc.tar
 find abc|sort
@@ -25135,7 +26420,7 @@ tarball_prereq abc.tar 540f196ceddcad9e7bd2f2d7533d0474 $TEST_DATA_DIR $TEST_DAT
 echo Short Listing
 tar tf $TEST_DATA_DIR/abc.tar
 echo Verbose Listing
-tar tfv $TEST_DATA_DIR/abc.tar
+tar --utc -tvf $TEST_DATA_DIR/abc.tar
 echo Extracted directory
 tar xf $TEST_DATA_DIR/abc.tar
 find abc|sort
@@ -25144,13 +26429,15 @@ find abc|sort
 fi
 
 at_failed=false
-$at_diff "$at_devnull" "$at_stderr" || at_failed=:
+echo >>"$at_stderr"; echo "tar: Record size = 5 blocks
+tar: Record size = 5 blocks
+" | $at_diff - "$at_stderr" || at_failed=:
 echo >>"$at_stdout"; echo "Short Listing
 abc/not-a-file.gif
 abc/CCC
 Verbose Listing
-V--------- 0/0            1536 2006-05-09 01:07 abc/not-a-file.gif--Volume Header--
--rw-r--r-- tom/users         0 2006-04-22 22:52 abc/CCC
+V--------- 0/0            1536 2006-05-08 22:07 abc/not-a-file.gif--Volume Header--
+-rw-r--r-- tom/users         0 2006-04-22 19:52 abc/CCC
 Extracted directory
 abc
 abc/CCC
@@ -25178,15 +26465,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  64 ) # 64. comprec.at:21: compressed format recognition
+  67 ) # 67. comprec.at:21: compressed format recognition
     at_setup_line='comprec.at:21'
     at_desc="compressed format recognition"
-    $at_quiet $ECHO_N " 64: compressed format recognition                  $ECHO_C"
+    $at_quiet $ECHO_N " 67: compressed format recognition                  $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "64. comprec.at:21: testing ..."
+      echo "67. comprec.at:21: testing ..."
       $at_traceon
 
 
@@ -25683,15 +26970,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  65 ) # 65. shortfile.at:26: short input files
+  68 ) # 68. shortfile.at:26: short input files
     at_setup_line='shortfile.at:26'
     at_desc="short input files"
-    $at_quiet $ECHO_N " 65: short input files                              $ECHO_C"
+    $at_quiet $ECHO_N " 68: short input files                              $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "65. shortfile.at:26: testing ..."
+      echo "68. shortfile.at:26: testing ..."
       $at_traceon
 
 
@@ -25752,7 +27039,7 @@ fi
 
 at_failed=false
 echo >>"$at_stderr"; echo "tar: This does not look like a tar archive
-tar: Error exit delayed from previous errors
+tar: Exiting with failure status due to previous errors
 " | $at_diff - "$at_stderr" || at_failed=:
 $at_diff "$at_devnull" "$at_stdout" || at_failed=:
 case $at_status in
@@ -25778,15 +27065,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  66 ) # 66. shortupd.at:29: updating short archives
+  69 ) # 69. shortupd.at:29: updating short archives
     at_setup_line='shortupd.at:29'
     at_desc="updating short archives"
-    $at_quiet $ECHO_N " 66: updating short archives                        $ECHO_C"
+    $at_quiet $ECHO_N " 69: updating short archives                        $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "66. shortupd.at:29: testing ..."
+      echo "69. shortupd.at:29: testing ..."
       $at_traceon
 
 
@@ -26147,15 +27434,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  67 ) # 67. truncate.at:29: truncate
+  70 ) # 70. truncate.at:29: truncate
     at_setup_line='truncate.at:29'
     at_desc="truncate"
-    $at_quiet $ECHO_N " 67: truncate                                       $ECHO_C"
+    $at_quiet $ECHO_N " 70: truncate                                       $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "67. truncate.at:29: testing ..."
+      echo "70. truncate.at:29: testing ..."
       $at_traceon
 
 
@@ -26631,15 +27918,15 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  68 ) # 68. grow.at:24: grow
+  71 ) # 71. grow.at:24: grow
     at_setup_line='grow.at:24'
     at_desc="grow"
-    $at_quiet $ECHO_N " 68: grow                                           $ECHO_C"
+    $at_quiet $ECHO_N " 71: grow                                           $ECHO_C"
     at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "68. grow.at:24: testing ..."
+      echo "71. grow.at:24: testing ..."
       $at_traceon
 
 
@@ -27045,14 +28332,14 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  69 ) # 69. gtarfail.at:21: gtarfail
+  72 ) # 72. gtarfail.at:21: gtarfail
     at_setup_line='gtarfail.at:21'
     at_desc="gtarfail"
-    $at_quiet $ECHO_N " 69: gtarfail                                       $ECHO_C"
+    $at_quiet $ECHO_N " 72: gtarfail                                       $ECHO_C"
     at_xfail=no
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "69. gtarfail.at:21: testing ..."
+      echo "72. gtarfail.at:21: testing ..."
       $at_traceon
 
 
@@ -27130,14 +28417,14 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  70 ) # 70. gtarfail2.at:21: gtarfail2
+  73 ) # 73. gtarfail2.at:21: gtarfail2
     at_setup_line='gtarfail2.at:21'
     at_desc="gtarfail2"
-    $at_quiet $ECHO_N " 70: gtarfail2                                      $ECHO_C"
+    $at_quiet $ECHO_N " 73: gtarfail2                                      $ECHO_C"
     at_xfail=no
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "70. gtarfail2.at:21: testing ..."
+      echo "73. gtarfail2.at:21: testing ..."
       $at_traceon
 
 
@@ -27216,14 +28503,14 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  71 ) # 71. multi-fail.at:21: multi-fail
+  74 ) # 74. multi-fail.at:21: multi-fail
     at_setup_line='multi-fail.at:21'
     at_desc="multi-fail"
-    $at_quiet $ECHO_N " 71: multi-fail                                     $ECHO_C"
+    $at_quiet $ECHO_N " 74: multi-fail                                     $ECHO_C"
     at_xfail=no
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "71. multi-fail.at:21: testing ..."
+      echo "74. multi-fail.at:21: testing ..."
       $at_traceon
 
 
@@ -27362,14 +28649,14 @@ $at_traceon
     at_status=`cat "$at_status_file"`
     ;;
 
-  72 ) # 72. ustar-big-2g.at:21: ustar-big-2g
+  75 ) # 75. ustar-big-2g.at:21: ustar-big-2g
     at_setup_line='ustar-big-2g.at:21'
     at_desc="ustar-big-2g"
-    $at_quiet $ECHO_N " 72: ustar-big-2g                                   $ECHO_C"
+    $at_quiet $ECHO_N " 75: ustar-big-2g                                   $ECHO_C"
     at_xfail=no
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "72. ustar-big-2g.at:21: testing ..."
+      echo "75. ustar-big-2g.at:21: testing ..."
       $at_traceon
 
 
@@ -27465,14 +28752,14 @@ done
     at_status=`cat "$at_status_file"`
     ;;
 
-  73 ) # 73. ustar-big-8g.at:21: ustar-big-8g
+  76 ) # 76. ustar-big-8g.at:21: ustar-big-8g
     at_setup_line='ustar-big-8g.at:21'
     at_desc="ustar-big-8g"
-    $at_quiet $ECHO_N " 73: ustar-big-8g                                   $ECHO_C"
+    $at_quiet $ECHO_N " 76: ustar-big-8g                                   $ECHO_C"
     at_xfail=no
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "73. ustar-big-8g.at:21: testing ..."
+      echo "76. ustar-big-8g.at:21: testing ..."
       $at_traceon
 
 
@@ -27568,14 +28855,14 @@ done
     at_status=`cat "$at_status_file"`
     ;;
 
-  74 ) # 74. pax-big-10g.at:21: pax-big-10g
+  77 ) # 77. pax-big-10g.at:21: pax-big-10g
     at_setup_line='pax-big-10g.at:21'
     at_desc="pax-big-10g"
-    $at_quiet $ECHO_N " 74: pax-big-10g                                    $ECHO_C"
+    $at_quiet $ECHO_N " 77: pax-big-10g                                    $ECHO_C"
     at_xfail=no
     echo "#                             -*- compilation -*-" >> "$at_group_log"
     (
-      echo "74. pax-big-10g.at:21: testing ..."
+      echo "77. pax-big-10g.at:21: testing ..."
       $at_traceon
 
 
@@ -27961,7 +29248,7 @@ _ASBOX
   echo "Please send \`${at_testdir+${at_testdir}/}$as_me.log' and all information you think might help:"
   echo
   echo "   To: <bug-tar@gnu.org>"
-  echo "   Subject: [GNU tar 1.20] $as_me:$at_fail_list${at_fail_list:+ failed${at_xpass_list:+,}}$at_xpass_list${at_xpass_list:+ passed unexpectedly}"
+  echo "   Subject: [GNU tar 1.21] $as_me:$at_fail_list${at_fail_list:+ failed${at_xpass_list:+,}}$at_xpass_list${at_xpass_list:+ passed unexpectedly}"
   echo
   if test $at_debug_p = false; then
     echo
index 5b633540016331e1563669618e2f864954f39efb..2fa53925c66b72d80b548baa8831413e6dd9a43d 100644 (file)
@@ -138,6 +138,8 @@ m4_include([incr04.at])
 m4_include([rename01.at])
 m4_include([rename02.at])
 m4_include([rename03.at])
+m4_include([rename04.at])
+m4_include([rename05.at])
 m4_include([chtype.at])
 
 m4_include([ignfail.at])
@@ -155,6 +157,7 @@ m4_include([multiv02.at])
 m4_include([multiv03.at])
 m4_include([multiv04.at])
 m4_include([multiv05.at])
+m4_include([multiv06.at])
 
 m4_include([old.at])
 
index c2bf12acc1666877bb67f5c206dd20e171b01feb..b8624a047213e8560f33b93507e3b7238a2ecfc9 100644 (file)
@@ -1,7 +1,7 @@
 # Process this file with autom4te to create testsuite. -*- Autotest -*-
 
 # Test suite for GNU tar.
-# Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -36,7 +36,7 @@ AT_TARBALL_PREREQ([abc.tar],[540f196ceddcad9e7bd2f2d7533d0474])
 echo Short Listing
 tar tf $TEST_DATA_DIR/abc.tar
 echo Verbose Listing
-tar tfv $TEST_DATA_DIR/abc.tar
+tar --utc -tvf $TEST_DATA_DIR/abc.tar
 echo Extracted directory
 tar xf $TEST_DATA_DIR/abc.tar
 find abc|sort
@@ -46,11 +46,14 @@ find abc|sort
 abc/not-a-file.gif
 abc/CCC
 Verbose Listing
-V--------- 0/0            1536 2006-05-09 01:07 abc/not-a-file.gif--Volume Header--
--rw-r--r-- tom/users         0 2006-04-22 22:52 abc/CCC
+V--------- 0/0            1536 2006-05-08 22:07 abc/not-a-file.gif--Volume Header--
+-rw-r--r-- tom/users         0 2006-04-22 19:52 abc/CCC
 Extracted directory
 abc
 abc/CCC
+],
+[tar: Record size = 5 blocks
+tar: Record size = 5 blocks
 ])
 
 AT_CLEANUP